2018-4-16 16周4次課 zabbix郵件告警
·需求:監控某臺web的80端口連接數,並出圖
兩步:1)zabbix監控中心創建監控項目;2)針對該監控項目以圖形展現
·對於第一步,需要到客戶端定義腳本
[root@localhost ~]# vim /usr/local/sbin/estab.sh
[root@localhost ~]# chmod 755 /usr/local/sbin/estab.sh
·客戶端上編輯配置文件 /etc/zabbix/zabbix_agentd.conf
·自定義監控項的key為my.estab.count,後面的 [*] 裏面寫腳本的參數,如果沒有參數則可以省略,腳本為/usr/local/sbin/estab.sh
·重啟客戶端
[root@localhost ~]# systemctl restart zabbix-agent
·首先到服務端驗證,執行命令
[root@localhost ~]# zabbix_get -s 192.168.65.129 -p 10050 -k 'my.estab.count' 0
·在網頁中主機的監控項中創建新監控項,鍵值為my.estab.count
·可以添加觸發器
·可以新建圖形
·錯誤匯總:
zabbix ZBX_NOTSUPPORTED: Timeout while executing a shell script.
紅線這段並沒有註釋掉!!!
19.13/19.14 配置郵件告警
·首先登錄你的163郵箱,設置開啟POP3、IMAP、SMTP服務
·開啟並記錄授權碼
·然後到監控中心設置郵件告警
·“管理”——>“報警媒介類型”——>“創建媒體類型”
名稱:自定義
類型:腳本
腳本名稱:mail.py
添加腳本參數:
{ALERT.SENDTO} 報警發送給誰
{ALERT.SUBJECT}報警標題
{ALERT.MESSAGE}報警內容
·創建報警腳本 mail.py
腳本位置 /usr/lib/zabbix/alertscripts
在 /etc/zabbix/zabbix_server.conf 中定義
·編輯報警腳本 mail.py (紅框內容根據實際情況自定義)
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts [root@localhost alertscripts]# vim mail.py
腳本內容:http://note.youdao.com/noteshare?id=dac98a142b86abba9b118e113969d4c4&sub=D3F1B8A4BC5249F8A5E99715B5E29E66
·更改mail.py執行權限
[root@localhost alertscripts]# chmod 755 mail.py
·測試腳本是否能發郵件
格式:python 腳本 目標郵箱 “郵件主題” “郵件內容”
[root@localhost alertscripts]# python mail.py [email protected] "hello there!" "you are genius!"
[root@localhost alertscripts]# python mail.py [email protected] "測試" "這是一條測試郵件"
郵箱中已經收到了郵件!
郵件腳本已經正常!!!
·在網頁端創建一個接受告警郵件的用戶,“管理” ——> “用戶” ——> “創建用戶”
·填寫必要信息
·報警媒介中添加收件人郵箱地址
·權限默認為所有組都無權限
·權限要到用戶組裏去改
·此時用戶的權限已經變為所有組可讀寫
·創建完成之後確認,媒介有無,權限有無!
·添加動作,即 觸發器觸發後做什麽
“新的觸發條件”,A維護狀態 非在 維護,B觸發器示警度>=未分類
(維護狀態 非在 維護指的是服務在重啟時不提示)
HOST:{HOST.NAME} {HOST.IP} 主機名或ip
TIME:{EVENT.DATE} {EVENT.TIME} 發生的日期、時間
LEVEL:{TRIGGER.SEVERITY} 報警級別
NAME:{TRIGGER.NAME} 哪一個觸發器告警
messages:{ITEM.NAME}:{ITEM.VALUE} 告警的狀態碼
ID:{EVENT.ID} 事件的ID
·操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“BAOJING”
·切換到“恢復操作”,把信息改成如下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
·點擊“新的”,“操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“BAOJING”
·添加完成後,狀態為已啟用
告警已經設置完成!
19.15 測試告警
·自定義一個觸發器
主機 ——> alex ——> 觸發器 ——> 創建觸發器
讓觸發器可以出發,然後去儀表板觀察,稍等片刻就會出現錯誤信息,同時郵箱也會收到提示。
解決問題之後,也會出現解決的提示郵件
19.16 不發郵件的問題處理
zabbix郵件告警配置流程:
1,開啟服務:郵箱開啟POP3、IMAP、SMTP服務
2,授權碼:開啟並記錄授權碼
3,告警媒介:監控中心設置郵件告警,新增報警媒介
1)名稱自定義 此處為mail.py
2)類型為腳本
3)腳本名稱可自定,需與服務器上一致
4)腳本參數 {ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE} (順序不可改)
4,編輯腳本 此處為mail.py
1)腳本位置/usr/lib/zabbix/alertscripts/ 下編輯(目錄在/etc/zabbix/zabbix_server.conf 定義)
2)腳本內容:根據實際更改內容(用戶名、密碼、服務器地址等),在http://note.youdao.com/noteshare?id=dac98a142b86abba9b118e113969d4c4&sub=D3F1B8A4BC5249F8A5E99715B5E29E66
5,授權::chmod 755 /usr/lib/zabbix/alertscripts/mail.py
6,更改權限:更改Zabbix administrator 組權限為 所有組 讀寫
7,新建用戶:
1)加入到 Zabbix administrator 組中
2)報警媒介 類型,收件人,嚴重性
8,添加動作:
1)動作:名稱自定義,條件默認(或增加觸發器示警度>=未分類)
2)操作:可以用默認,但太亂,用以下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
增加新的操作:發送到用戶、僅送到、條件默認(可寫為事件已確認 = 非確認)
3)恢復操作:和操作內容一致即可
9,新增觸發器:增加新的觸發器,達到一定條件就告警
10,儀表板查看:之後就能在儀表板看到異常告警了,告警時,zabbix會給郵箱發郵件提醒
11,郵箱提示:郵箱中會有 PROBLEM 提示問題的郵件,當問題解決後,也會有個 OK 的郵件提示
·如果遇到發不了告警郵件:
1,腳本要能發郵件,可以用 python 腳本 目標郵箱 “郵件主題” “郵件內容” 來測試
2,報警媒介的配置是否正確:名稱、類型、腳本名稱、腳本參數
3,用戶報警媒介,郵箱是否正確,是否有讀寫權限
4,動作——操作—— 默認信息、操作;恢復操作是否正常
5,如果實在沒辦法,可以恢復快照重新配置一遍
2018-4-16 16周4次課 zabbix郵件告警