系統(tǒng)配置? ?? ??Ubuntu 16.04
zabbix版本?? ??3.4
zabbxi實(shí)現(xiàn)郵件告警推送有兩種方式:
a.使用zabbix服務(wù)端的本地郵箱賬號(hào)發(fā)送,郵件名為:user@hostname.localdomain郊闯,user為發(fā)送郵件的用戶藻糖,hostname為zabbix-server的主機(jī)名靴跛,該郵箱只能發(fā)送摘符,不能接收外部郵件臭增;
b.使用外部郵箱指定為告警發(fā)送郵箱横辆。
一般公司都有郵件系統(tǒng)撇他,為方便管理,本文采用外部郵箱方式發(fā)送告警狈蚤。(申請(qǐng)163郵箱號(hào):zabbix_test_123@163.com 困肩,注意開(kāi)啟客戶端授權(quán))
1.關(guān)閉postfix(可以不做)
[root@zabbix-server ~]# systemctl stop postfix
[root@zabbix-server ~]# systemctl disable postfix
postfix為本地郵箱推送方式需安裝的軟件,若同時(shí)配置本地和外部郵箱兩種發(fā)送方式脆侮,系統(tǒng)會(huì)優(yōu)先采用外部郵箱方式僻弹,所以該步驟不是必須但最好關(guān)閉這個(gè)服務(wù)。
2.安裝郵件發(fā)送工具mailx
[root@zabbix-server ~]# sudo apt-get install -y heirloom-mailx
查看mailx版本:
[root@zabbix-server ~]# mail -V
v14.8.6
3.配置外部郵箱
[root@zabbix-server ~]# vim /etc/s-nail.rc
set from=zabbix_test_123@163.com
set smtp=smtp.163.com
set smtp-auth-user=zabbix_test_123@163.com
set smtp-auth-password=xxx
set smtp-auth=login
測(cè)試使用的企業(yè)郵箱他嚷,smtp-auth-password是密碼蹋绽,如果是個(gè)人郵箱smtp-auth-password貌似為 ‘客戶端授權(quán)密碼’
測(cè)試外部郵箱
[root@zabbix-server ~]# echo "zabbix test mail 123" |mail -s "zabbix" zabbix_test_123@163.com
由于163的反垃圾機(jī)制,當(dāng)發(fā)送為其它郵箱如126卸耘、qq郵箱時(shí)會(huì)報(bào)錯(cuò),故本例中發(fā)送和接收郵箱都為zabbix_test_123@163.com粘咖。如若上生產(chǎn)可配置企業(yè)郵箱蚣抗。
4.編寫郵件發(fā)送腳本
修改腳本路徑
[root@zabbix-server ~]# view /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/etc/zabbix/alertscripts
編寫腳本mail.sh
[root@zabbix-server ~]# cd /etc/zabbix/
[root@zabbix-server zabbix]# mkdir alertscripts && cd alertscripts && touch mail.sh
[root@zabbix-server alertscripts]# more mail.sh?
#!/bin/bash
echo "$3" | mail -s "$2" $1
[root@zabbix-server alertscripts]# chmod 755 mail.sh
$1:收件人郵箱地址;$2:郵件標(biāo)題;$3:郵件內(nèi)容
5.web端配置
5.1創(chuàng)建報(bào)警媒介類型
腳本參數(shù)分別對(duì)應(yīng):收件人地址翰铡、主題钝域、詳細(xì)內(nèi)容
5.2配置用戶
選擇Admin:
添加報(bào)警媒介:
5.3創(chuàng)建報(bào)警動(dòng)作
配置-動(dòng)作-創(chuàng)建動(dòng)作,新建動(dòng)作:
新建操作:
新建操作就是通過(guò)何種方式將消息發(fā)送給誰(shuí)锭魔,其它選項(xiàng)默認(rèn)例证。
添加恢復(fù)操作:
添加后的動(dòng)作:
5.4測(cè)試郵件告警
新增告警項(xiàng),在agent端/home文件系統(tǒng)使用dd命令創(chuàng)建文件迷捧,將文件系統(tǒng)使用率提升至90%以上以觸發(fā)告警:
[root@zabbix-agent home]# dd if=/dev/zero of=test bs=1M count=1950
用dd命令生成一個(gè)1950M的test文件织咧,使/home使用率告警。
觸發(fā)郵件告警:
如果郵件以文本方式發(fā)送漠秋,就不需要做如下操作笙蒙;
發(fā)現(xiàn)郵件以附件方式發(fā)送,顯示不正常庆锦,修改郵件發(fā)送腳本捅位。
安裝dos2unix轉(zhuǎn)換工具:
[root@zabbix-server ~]# yum -y install dos2unix
編輯發(fā)送腳本:
[root@zabbix-server ~]# cd /etc/zabbix/alertscripts
[root@zabbix-server alertscripts]# touch mailtmp.txt && chmod 777 mailtmp.txt
[root@zabbix-server ~]# chown -R zabbix:zabbix /etc/zabbix/alertscripts/
[root@zabbix-server alertscripts]# more mail.sh
#!/bin/bash
FILE=/etc/zabbix/alertscripts/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
cat $FILE|/bin/mail -s "$2" $1
注意:dos2unix命令執(zhí)行的時(shí)候會(huì)產(chǎn)生臨時(shí)文件,所以要有寫的權(quán)限搂抒,故應(yīng)修改alertscripts目錄屬主绿渣,不然測(cè)試過(guò)程中會(huì)報(bào)錯(cuò):‘dos2unix: Failed to open temporary output file: 權(quán)限不夠’。
發(fā)現(xiàn)正文不再以附件形式顯示燕耿。
查看告警日志:
至此郵件告警配置完成中符。
郵件告警內(nèi)容可選屬性:
默認(rèn)接收人:【故障】服務(wù)器:{HOSTNAME1}發(fā)生: {TRIGGER.NAME}故障
默認(rèn)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問(wèn)題詳情:{ITEM.NAME}
事件ID:{EVENT.ID}
恢復(fù)信息: 這個(gè)是當(dāng)報(bào)警回復(fù)正常發(fā)送郵件的內(nèi)容. 這些變量都是系統(tǒng)定義好.你可以引用 也可以自己定義變量.
恢復(fù)主題:【恢復(fù)】 服務(wù)器:{HOSTNAME1}: {TRIGGER.NAME}已恢復(fù)!
恢復(fù)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問(wèn)題詳情:{ITEM.NAME}:
事件ID:{EVENT.ID}
效果