在zabbix的使用中,最重要的一點就是完善的報警機制,做爲監控平臺,須要時刻關注機器和服務的運行狀態,更重要的是發現故障以後須要及時的報警給相關人員,早點發現問題,將隱患消除在未然階段。這樣才能保證服務的穩定運行。報警的方式是多種多樣的,微信、短信和郵件報警是咱們比較常見的方式。前端
1.在zabbix服務端配置郵件發送腳本和修改zabbix服務端配置文件;
2.在zabbix前端控制檯進行相關設置;bash
Zabbix監控服務器、客戶端都已經部署完成,被監控主機已添加完成,Zabbix監控運行正常。
Zabbix監控服務器設置郵件報警,當被監控主機宕機或達到觸發器預設值進,會自動發送報警郵件到指定的郵箱。服務器
主機 | IP | 服務 |
---|---|---|
監控端 | 192.168.200.128 | lamp架構、zabbix server、mailx |
被監控端 | 192.168.200.132 | zabbix_agentd |
在監控端安裝微信
# yum install mailx -y # vi /etc/mail.rc //注意網易郵箱須要開啓客戶端受權碼進行第三方登陸 ----文件末尾新增--- set from=651373897@qq.com set smtp=smtp.qq.com set smtp-auth-user=651373897@qq.com set smtp-auth-password=受權碼 (QQ郵箱設置>>帳戶>>生成受權碼) set smtp-auth=login # echo "hello world" | mail -s "testmail" 651373897@qq.com //測試發信正常
編寫發郵件發送腳本架構
# cd /usr/lib/zabbix/alertscripts # vi mailx.sh #!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1 # touch /tmp/mailx.log # chown -R zabbix.zabbix /tmp/mailx.log # chmod +x /usr/lib/zabbix/alertscripts/mailx.sh # chown -R zabbix.zabbix /usr/lib/zabbix/ # ./mailx.sh 651373897@qq.com "主題" "內容" //測試發郵件腳本是否能夠正常工做
打開管理==》報警媒體類型==》建立媒體類型ide
名稱:Mail-Test
類型:腳本
腳本名稱:mailx.sh
腳本參數://新增如下三個參數
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}測試
管理==》用戶==》點擊主機xxx ==》報警媒介
類型:Mail-Test //調用上面的腳本br/>收件人:651373897@qq.com
其它默認-保存code
配置==》動做==》建立動做==》刪除默認標籤,修改觸發條件
名稱:Mailx
條件 A 主機羣組=Linux serversserver
操做-》以下配置
默認操做步驟持續時間 60
默認接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默認信息:
告警主機:{HOST.NAME}
告警 IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
====操做細節====
操做類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //必定要配置不然郵件發送不成功blog
恢復操做:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢復信息:
恢復主機:{HOST.NAME}
恢復 IP:{HOST.IP}
恢復時間:{EVENT.DATE}-{EVENT.TIME}
恢復等級:{TRIGGER.SEVERITY}
恢復信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢復 ID:{EVENT.ID}
====操做細節=====
操做類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //必定要配置不然郵件發送不成功
先添加一個監控項(添加zabbix-agent.service用來測試)
systemctl stop zabbix-agent.service //在被監控主機上關閉 測試報警郵件接收