Centos7 Zabbix3.4郵件告警配置(解決郵件內容為xx.bin附件問題)
一、添加監(jiān)控Linux主機
1、配置-主機-創(chuàng)建主機
2、填寫信息
3、添加模板
4、查看狀態(tài)
二、配置郵箱
系統(tǒng)環(huán)境:
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
1、安裝郵件發(fā)送工具mailx
如果安裝了其他郵件發(fā)送工具,先關閉
service sendmail stop ##關閉sendmail systemctl disable sendmail.service ##禁止開機啟動sendmail service postfix stop ##關閉postfix systemctl disable postfix.service ##禁止開機啟動postfix [root@localhost ~]# yum install mailx
2、配置Zabbix服務端外部郵箱,打開文件vim /etc/mail.rc 如果mail.rc文件沒有,就手動創(chuàng)建,然后添加如下內容:
[root@localhost ~]# vim /etc/mail.rc
set sendcharsets=iso-8859-1,utf-8 set from=xxx@163.com set smtp=smtp.163.com #163郵箱要開啟smtp授權 set smtp-auth-user=xxx@163.com #認證用戶 set smtp-auth-password=xxx #認證密碼
3、測試郵件發(fā)送
[root@localhost ~]# echo "zabbix test mail" | mail -s "zabbix" xxx@163.com
4、編寫發(fā)送郵件腳本
1)安裝dos2unix轉換工具( 解決發(fā)出的郵件是xx.bin附件格式的問題 ),(7.5.1804這個目錄名會更變動)如果這里的下載鏈接失效就到阿里官網查找對應文件
[root@localhost ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
獲取https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
準備中... ################################# [100%]
正在升級/安裝...
1:dos2unix-6.0.3-7.el7 ################################# [100%]
如下接受郵件顯示,無法顯示文字
2)修改郵件發(fā)送腳本內容
為什么我們會在這個路徑下面創(chuàng)建這個腳本呢,這是在我們的zabbix_serber.conf文件中配置的
AlertScriptsPath=/usr/lib/zabbix/alertscripts
所以你不想將這個腳本放在這個目錄下面,需要修改服務端的配置文件中的AlertScriptsPath的值
[root@localhost ~]# vim /usr/lib/zabbix/alertscripts/sendmail.sh #!/bin/bash #export.UTF-8 #解決發(fā)送的中文變成了亂碼的問題 FILE=/tmp/mailtmp.txt echo "$3" >$FILE dos2unix -k $FILE #解決了發(fā)送的郵件內容變成附件的問題。 /bin/mail -s "$2" $1 < $FILE
3)創(chuàng)建臨時文件并授權,這里確保你的用戶存在zabbix
[root@localhost ~]# touch /tmp/mailtmp.txt [root@localhost ~]# chown zabbix.zabbix /tmp/mailtmp.txt
4)上面的這三個參數是接收從Web頁面?zhèn)鬟f的信息:
$1:收件人郵箱地址;
$2:郵件標題;
$3:郵件內容
5)給腳本添加權限,要不發(fā)生告警的時候郵件無法正常發(fā)送出去
[root@localhost ~]# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh
5、管理-報警媒介類型-創(chuàng)建媒體類型
6、填寫內容
添加以下3個參數,分別對應sendmail.sh腳本需要的3個參數:收件人地址、主題、詳細內容
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
如果在3.0中不添加這三個參數會報錯,因為在3.0以后zabbix允許自定義參數了,所以不會默認傳遞參數,在2.0的時候會默認傳遞三個參數,所以在3.0如果不寫這三個參數會報錯。
7、給用戶添加報警媒介
8、設置告警條件:配置-動作-創(chuàng)建動作
1)設置條件和名稱
2)填寫接收人,默認信息,用戶是剛填寫好的接收郵件人,MyEmail也是剛創(chuàng)建的
故障告警:{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主機:{HOST.NAME}
主機地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件代碼:{EVENT.ID}
解釋:默認的步驟是1-1,也即是從1開始到1結束。一旦故障發(fā)生,就是執(zhí)行sendEmail.sh腳本發(fā)生報警郵件給Admin用戶和zabbix administrator組。假如故障持續(xù)了1個小時,它也只發(fā)送一次。如果改成1-0,0是表示不限制.無限發(fā)送 間隔就是默認持續(xù)時間60秒。那么一個小時,就會發(fā)送60封郵件。
3)恢復操作
故障解除:{TRIGGER.STATUS}: {TRIGGER.NAME}
恢復主機:{HOST.NAME}
主機地址:{HOST.IP}
恢復時間:{EVENT.DATE} {EVENT.TIME}
恢復等級:{TRIGGER.SEVERITY}
恢復信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件代碼:{EVENT.ID}
到這我們的郵件報警配置就完成了,這是只要我們設置的觸發(fā)器觸發(fā),就會自動給我發(fā)送報警郵件。
9、測試郵件告警
1)打開觸發(fā)器
2)可以將zabbix自帶的模板中的對可用內存的監(jiān)控中的觸發(fā)器的臨界值改為大于20,進入模板列表
改之后
3)修改更新時間,使其更快檢測
4)查看告警
5)郵箱確認
如果發(fā)送郵件有問題就重啟服務端和zabbix-server 和httpd服務,客戶端重啟zabbix-agent服務
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。