zabbix 配置郵件報(bào)警,其實(shí)網(wǎng)上有一堆教程,但是在按著他們的教程配置好了之后,或多或少有些問(wèn)題,比如郵件發(fā)不出去,沒(méi)內(nèi)容等等。
我整理了一下自己配置成功之后需要注意的幾點(diǎn)。
1. 安裝mailx 服務(wù) 通過(guò)mailx 配置好外部SMTP服務(wù)器相關(guān)信息發(fā)送郵件(這里是配置發(fā)信的地址):
yum -y install mailx
vim /etc/mail.rc 增加以下內(nèi)容:
set bsdcompat
set from=test@163.com smtp=smtp.163.com #這里是郵局服務(wù)器和SMTP 服務(wù)器信息,這里使用163的,其他郵箱自行修改一下
set smtp-auth-user=test@163.com smtp-auth-password=yourpassword #smtp-auth-user 自然是指郵局用戶,需要寫完整地址,然后是密碼
set smtp-auth=login
使用命令行測(cè)試一下是否配置成功
echo “zabbix test mail” | mail -s “zabbix” test@163.com
2.創(chuàng)建示警媒介
-
進(jìn)入 【管理】-【示警媒介類型】-【創(chuàng)建媒體類型】
注意我們選擇使用腳本方式,名稱可自定義,腳本名稱設(shè)定需要和以后創(chuàng)建的腳本相同,這里還需要添加參數(shù),否則無(wú)法接受到系統(tǒng)傳遞的信息進(jìn)行發(fā)送:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2.創(chuàng)建用戶接收郵箱:
【管理】-【用戶】-選擇對(duì)應(yīng)的用戶默認(rèn)Admin -切換到【示警媒介】選項(xiàng)卡-類型處選擇為剛才我們創(chuàng)建的示警媒介名稱,收件人填寫為需要接收郵件的地址
3.創(chuàng)建觸發(fā)動(dòng)作:
【組態(tài)】-【動(dòng)作】-【創(chuàng)建動(dòng)作】
名稱:Action-Email
默認(rèn)接收人:Problem:{TRIGGER.NAME}
默認(rèn)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復(fù)主旨:Recover:{TRIGGER.NAME}
恢復(fù)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
注意: 這里改了圖片里面的默認(rèn)接收人和恢復(fù)主旨,之前的太長(zhǎng)郵件顯示不全。還有:設(shè)置后不要點(diǎn)擊【添加】,這里點(diǎn)擊更新是無(wú)法保存的,切換到【操作】選項(xiàng)卡
添加用戶,按照下圖設(shè)置勾選即可。

四.創(chuàng)建郵件發(fā)送腳本:
1.先查看一下/usr/local/etc/zabbix 中的AlertScriptsPath 是否已經(jīng)指定了,這里是指定zabbix程序調(diào)用腳本的目錄,設(shè)置為:
AlertScriptsPath=/usr/local/share/zabbix/alertscripts
2.在該目錄/usr/local/share/zabbix/alertscripts 下創(chuàng)建腳本文件
vim sendmail.sh
#!/bin/bash
file=/tmp/zabbix_mail.txt
echo "$3" > $file
dos2unix -k $file
/bin/mail -s "$2" $1 < $file
# echo "$3" | mail -s "$2" $1 #如果發(fā)送郵件完全是英文的,可以只使用這一條
:wq 保存退出
設(shè)置權(quán)限以及所屬用戶:
chown zabbix.zabbix /usr/local/share/zabbix/alertscripts/sendmail.sh
chmod +x /usr/local/share/zabbix/alertscripts/sendmail.sh
yum install dos2unix -y
注:使用dos2unix工具是為解決zabbix發(fā)送郵件出現(xiàn)亂碼和收到的郵件是*.bin的情況。
#$3 代表郵件內(nèi)容,也就是對(duì)應(yīng)參數(shù){ALERT.MESSAGE}
#$2 代表郵件主題,也就是對(duì)應(yīng)參數(shù){ALERT.SUBJECT}
#$1 代表收件人,也就是對(duì)應(yīng)參數(shù){ALERT.SENDTO}
接下來(lái)測(cè)試一下,看看成不成功,祝好運(yùn)。
參考文章:
1:Zabbix使用外部郵箱服務(wù)器發(fā)送郵件報(bào)警
2:zabbix 配置郵件報(bào)警
3:zabbix 郵件內(nèi)容為附件



