以前已經做出這個實驗了,沒有做記錄現線上上環境要使用郵件告警,再次使用還是有好多地方沒有很快定位到問題所在。是以還是決定要寫這篇部落格。
zabbix能通過郵件或者其他的通信方式告知server problem 或者ok狀态的變化。
一、整體思路
items->trigger->actions->scripts->send email
當監控項的值觸發了建立的觸發器,觸發器就會調用動作将(标題,狀況)等資訊調用配置好的scripts去發送郵件。
接下來思路是先在zabbix server配置好能發送郵件的工具。
二、配置郵件發送工具
1、安裝mailx
yum install mailx
2、配置發送郵件使用者
vim /etc/mail.rc
跳到最後一行添加
#能用郵件的使用者例如[email protected]
#該郵箱的smtp伺服器
smtp=smtp.sendcloud.net
#郵件的使用者名
#郵箱密碼(sendcloud工具),163或者qq郵箱都是該使用者郵箱的授權碼
smtp-auth-password=*********
set smtp-auth=login
儲存退出
3、測試
echo “test”|mail -s “test”[email protected]
此時應該是收到郵件了,這就是是是用特定使用者發送郵件的配置步驟。
三、配置zabbix server scripts
1、配置zabbix server
在二中配置郵件發送工具,接下來要讓zabbix server能調用腳本發送郵件
vim /etc/zabbix/zabbix_server.conf
将此行注釋去掉。
AlertScriptsPath=/usr/lib/zabbix/alertscripts/
service zabbix-server restart
2、編寫腳本
cd /usr/lib/zabbix/alertscripts/
安裝這個指令,否則發送郵件内容裡會有個附件.bin看不到真正的郵件内容。由于windows和linux的檔案格式不同吧。
yum install dos2unix
vim scripts.sh
#!/bin/bash
#export LANG=zh_CN.UTF-8
to=$1
subject=$2
body=$3
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
儲存退出。
生成/tmp/mailtmp.txt
修改權限
chown zabbix:zabbix zabbix
修改腳本權限和屬主,屬組,否則zabbix沒有權限調用腳本
chmod +x scripts
chown zabbix:zabbix scripts.sh
./scripts [email protected] test test
同樣,沒有意外也會收到郵件,此時zabbix server 已經能夠調用腳本發送郵件了。
接下來我們去zabbix server web界面 耍一耍,浪一浪。。。。
四、配置媒介方式
點選administration->Media types->create media type

1、就是剛寫的腳本的名字
2、這是個比較大的坑,在zabbix 2.x沒有這一項,這是給腳本傳遞參數,如果沒有配置2這一項會出現顯示已發送成功但是未成功收到郵件。
五、配置使用者資訊
這裡配置的主要是要使用zabbix的哪個使用者作為告警對象。配置該使用者的media 填寫要接收郵件的address,和media type
1、是在四中定義的media type
2、是接收郵件的email address
六、配置actions
點選 create action
(1)action
名字随意喽
default subject 是發送郵件的主題
伺服器:{HOSTNAME1}:{TRIGGER.NAME}
default message 是腳本裡的body也就是内容
告警主機:{HOSTNAME1}
告警資訊: {TRIGGER.NAME}
目前狀态:{TRIGGER.STATUS}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
recoerage message 是當問題恢複時發送的
和上邊的一樣隻是trigger status 變了。
(2)Condions (條件)
紅框那可以選擇條件(例如當trigger裡有包含此處的trigger名字就會發生這個動作)
Operations裡添加收告警的使用者組和使用者。
step那一樣預設就可以。如果限定前幾次和後幾次發給不通級别的人就不要使用預設的了。預設的意思是當告警觸發郵件時就發一次而已。這看需求。。。
儲存。
七、測試
萬事俱備,隻欠東風。可以找一台機器關掉zabbix agent