1.準(zhǔn)備zabbix服務(wù)器安裝完畢
使用3.2+版本
2.創(chuàng)建郵件告警腳本(不用zabbix自帶郵件告警)
下載軟件
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
創(chuàng)建目錄
mkdir /usr/local/bin
解壓軟件
tar zxf sendEmail-v1.56.tar.gz -C /usr/src
進(jìn)入目錄
cd /usr/src/sendEmail-v1.56
復(fù)制文件,并設(shè)置權(quán)限
cp -a sendEmail /usr/local/bin
chmod +x /usr/local/bin/sendEmail
安裝組件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
進(jìn)入zabbix自定義的指定目錄
可以查看zabbix_server.conf配置文件AlertScriptsPath變量是如何定義的。
cd /usr/local/zabbix/alertscripts/
編輯腳本
vim sendEmail.sh
messages=`echo $3| tr'\r\n''\n'`
subject=`echo $2| tr'\r\n''\n'`
echo"${messages}"| mail -s"${subject}"? $1>>/tmp/sendmail.log 2>&1
編輯完成后,給腳本權(quán)限
chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh
3.測試郵件告警腳本是否能夠正常發(fā)送郵件
手動(dòng)執(zhí)行一次腳本,后面的參數(shù)分別對應(yīng)接收人,主題,內(nèi)容
./sendEmail.sh?liqifeng820@gmail.com test 123
登錄c@domain.com的賬戶,查看郵件是否可以收到
如果腳本執(zhí)行沒有報(bào)錯(cuò),收不到郵件的話,請檢查linux網(wǎng)絡(luò)問題,iptables、selinux是否關(guān)閉。
4.配置Zabbix服務(wù)端外部郵箱(特別注意)
打開文件vi /etc/mail.rc 如果mail.rc文件沒有,就手動(dòng)創(chuàng)建,在mail.rc末尾添加:
set from=xxxx.@qq.com?
set smtp=smtp.qq.com
set smtp-auth-user=xxxx.@qq.com
set smtp-auth-password=xxx
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
注意:set smtp-auth-password不一定是你的郵箱登陸密碼。
5.在zabbix中創(chuàng)建告警媒體類型
如圖:添加以下3個(gè)參數(shù),利用宏,分別對應(yīng)sendEmail.sh腳本需要的3個(gè)參數(shù):收件人地址、主題、詳細(xì)內(nèi)容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

6.創(chuàng)建報(bào)警媒介
如圖:在用戶管理中選中admin用戶,添加告警媒介

7.創(chuàng)建動(dòng)作(zabbix郵件告警的核心)
如圖:創(chuàng)建動(dòng)作,定義動(dòng)作觸發(fā)的條件,觸發(fā)之后通過admin發(fā)送郵件
默認(rèn)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
默認(rèn)接收人:
故障{TRIGGER.STATUS}, 服務(wù)器:{HOSTNAME1}發(fā)生: {TRIGGER.NAME}故障!

8.測試
成功,如果有問題,可以查看zabbix服務(wù)器上的 /tmp/sendmail.log日志文件。
