文章原文
自從接觸zabbix
后,就一直想着怎么才能把告警推送到個人微信上。有這樣的想法主要是個人微信的使用頻率遠遠要比釘釘,企業微信,郵箱,飛書等使用頻率要高。比如我,就遇到過在周末的時候,因為沒有及時登錄釘釘查看zabbix
告警通知,導致一些告警沒來得及處理,對環境產生了影響。
前段時間朋友給推薦了pushplus
,一開始主要在jenkins
做構建通知用的,后來就想,能不能使用zabbix
的告警通知推送到微信上呢?
先介紹下pushplus
吧,pushplus
官方介紹
pushplus
(推送加)集成了微信、企業微信、釘釘、短信、郵件等實時信息推送平台
你只需要調用簡單的API,即可幫助你迅速完成消息的推送,使用簡單方便
我們的所做的一切只是為了讓推送變的更簡單
pushplus
登錄官網注冊pushplus
獲取pushplus Token
注冊成功后。點擊一對多
,然后新建一個群組。群組編碼作為群組的唯一標示,后續需要使用。群組名稱隨意填寫。
創建成功之后點擊群組上的查看二維碼
,將二維碼發給需要加入群組的同事。以后推送的消息加入群組的用戶都會收的到。在“訂閱人”中可以主動的移除不想要的用戶。
然后保存你的token和群組編碼。
zabbix_server端設置
查看pushplus調用方式.
附上腳本
腳本很簡單,shell直接調用接口即可
#!/bin/bash
##########################
# pushplus推送zabbix告警 #
#########################
topic=$1 #topic為你的群組
title=$2 #title你要的標題內容
content=$3 #你要的具體消息內容
url=http://pushplus.hxtrip.com/send #pushplus POST和PUT請求接口
json="{\"token\": \"$token\", \"title\": \"$title\", \"content\": \"$3\", \"template\": \"html\", \"topic\": \"$topic\"}"
curl -H "Content-Type: application/json" -X POST -d "$json" $url
將腳本部署在alertscripts
目錄下,如果你不知道在那,你可以回想一下你釘釘告警,或者是企業微信告警的腳本放在那。如果實在記不起來,那就find
找下alertscripts
目錄吧
zabbix web端設置
創建報警媒介類型
登錄zabbix web端點擊管理
--報警媒介類型
--創建媒體類型
名稱:隨意寫
類型:選擇腳本
腳本名稱:按照實際名稱填寫
腳本參數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
創建動作
點擊配置
--動作
--創建動作
動作
名稱:隨意寫
條件:根據自己的告警需求填寫
操作
默認操作步驟持續時間:1h
默認標題:你也可以隨意寫。也可以用下面的。
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障! 故障通知!!
消息內容:和標題一樣
告警主機:{HOSTNAME1}<br>
IP地址:{HOST.CONN} <br>
告警時間:{EVENT.DATE} {EVENT.TIME}(UTC)<br>
告警等級:{TRIGGER.SEVERITY}<br>
告警信息: {TRIGGER.NAME}<br>
告警項目:{TRIGGER.KEY1}<br>
問題詳情:{ITEM.NAME}:{ITEM.VALUE}<br>
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
事件ID:{EVENT.ID}<br>
操作步驟--點擊新的
選擇發送到用戶,點擊添加
--admin
--選擇
僅送到,選擇你剛創建的,最后點擊添加
最為為這樣
恢復操作
恢復操作和操作一樣
添加完后
創建用戶報警媒介
選擇管理
--用戶
--admin
測試告警
添加完過后,接下來就測試吧。
我這邊選擇了一個觸發器
調了下告警的值,最后展示下告警以及恢復。
文章原文