Ubuntu zabbix配置報警郵件

系統(tǒng)配置? ?? ??Ubuntu 16.04

zabbix版本?? ??3.4



zabbxi實現(xiàn)郵件告警推送有兩種方式:

a.使用zabbix服務(wù)端的本地郵箱賬號發(fā)送,郵件名為:user@hostname.localdomain,user為發(fā)送郵件的用戶,hostname為zabbix-server的主機(jī)名,該郵箱只能發(fā)送,不能接收外部郵件;

b.使用外部郵箱指定為告警發(fā)送郵箱。

一般公司都有郵件系統(tǒng),為方便管理,本文采用外部郵箱方式發(fā)送告警。(申請163郵箱號:zabbix_test_123@163.com ,注意開啟客戶端授權(quán))

1.關(guān)閉postfix(可以不做)

[root@zabbix-server ~]# systemctl stop postfix

[root@zabbix-server ~]# systemctl disable postfix

postfix為本地郵箱推送方式需安裝的軟件,若同時配置本地和外部郵箱兩種發(fā)送方式,系統(tǒng)會優(yōu)先采用外部郵箱方式,所以該步驟不是必須但最好關(guān)閉這個服務(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

測試使用的企業(yè)郵箱,smtp-auth-password是密碼,如果是個人郵箱smtp-auth-password貌似為 ‘客戶端授權(quán)密碼’

測試外部郵箱


[root@zabbix-server ~]# echo "zabbix test mail 123" |mail -s "zabbix" zabbix_test_123@163.com

由于163的反垃圾機(jī)制,當(dāng)發(fā)送為其它郵箱如126、qq郵箱時會報錯,故本例中發(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)建報警媒介類型

腳本參數(shù)分別對應(yīng):收件人地址、主題、詳細(xì)內(nèi)容

5.2配置用戶

選擇Admin:

添加報警媒介:

5.3創(chuàng)建報警動作

配置-動作-創(chuàng)建動作,新建動作:

新建操作:

新建操作就是通過何種方式將消息發(fā)送給誰,其它選項默認(rèn)。

添加恢復(fù)操作:

添加后的動作:


5.4測試郵件告警

新增告警項,在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命令生成一個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í)行的時候會產(chǎn)生臨時文件,所以要有寫的權(quán)限,故應(yīng)修改alertscripts目錄屬主,不然測試過程中會報錯:‘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}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}

事件ID:{EVENT.ID}


恢復(fù)信息: 這個是當(dāng)報警回復(fù)正常發(fā)送郵件的內(nèi)容. 這些變量都是系統(tǒng)定義好.你可以引用 也可以自己定義變量.

恢復(fù)主題:【恢復(fù)】 服務(wù)器:{HOSTNAME1}: {TRIGGER.NAME}已恢復(fù)!

恢復(fù)信息:

告警主機(jī):{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:

事件ID:{EVENT.ID}

效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容