zabbix添加微信报警
1、相關資源導航
https://blog.csdn.net/zyj81092211/article/details/122917786
2、環境介紹
zabbix版本:6.0
kubernetes版本:v1.23.4
rancher版本:v2.6.3
容器相關環境配置可參考如下
https://blog.csdn.net/zyj81092211/article/details/123068347
3、獲取企業微信信息
注:調用邏輯是:根據CropID找企業,根據AgentId和Secret找到具體應用,根據Toparty找到要發送信息的具體部門
(1)登陸或注冊企業微信
https://work.weixin.qq.com/
(2)獲取企業ID(CropID)
我的企業-》企業信息-》企業ID
(3)自建應用獲取應用信息(AgentId和Secret)
應用管理-》應用-》自建
信息會發送到企業微信客戶端
(4)獲取部門ID(Toparty)
4、設置微信插件
5、shell告警腳本
注:更換腳本中企業微信信息,url是用來傳遞服務器登記信息的,沒有可以不寫
6、python腳本(可選)
#!/usr/bin/python # -*- coding: utf-8 -*- # zabbix notification confirmation script # python2.7 or aboveimport requests import json import os import sysToparty = "xxx" #部門id AgentID = xxx #應用id#修改為企業CropID和Secret CropID = 'xxx' Secret = 'xxx'#獲取Token Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ CropID + "&corpsecret=" + Secret headers = {'Content-Type': 'application/json'} json_data = json.loads(requests.get(Gtoken).content.decode()) token = json_data["access_token"]#消息發送接口 Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token#消息發送函數 def msg(title,message,url):weixin_msg = {"toparty" : Toparty,"msgtype" : "textcard","agentid" : AgentID,"textcard" : {"title" : title,"description" : message,"url" : url,}}print requests.post(Purl,json.dumps(weixin_msg),headers=headers)if __name__ == '__main__':title = sys.argv[1] #獲取第一個參數message = sys.argv[2] #獲取第二個參數a1=message.find("告警地址:")+len("告警地址:")a2=message.find("監控項目:")url="url"+message[a1:a2]#print(a1)#print(a2)#print message[a1:a2]msg(title,message,url)7、將腳本掛載到容器中
現將腳本上傳到nfs存儲中并加執行權限
掛載到容器中/usr/lib/zabbix/alertscripts目錄
8、創建報警媒介
選擇腳本并添加參數
內置參數說明
https://www.zabbix.com/documentation/6.0/en/manual/appendix/macros/supported_by_location
配置信息模板
主題
消息
告警主機:{HOST.NAME} 告警地址:{HOST.IP} 監控項目:{ITEM.NAME} 監控取值:{ITEM.LASTVALUE} 告警等級:{TRIGGER.SEVERITY} 當前狀態:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警時間:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID}
主題
消息
告警主機:{HOST.NAME} 告警地址:{HOST.IP} 監控項目:{ITEM.NAME} 監控取值:{ITEM.LASTVALUE} 告警等級:{TRIGGER.SEVERITY} 當前狀態:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警時間:{EVENT.DATE} {EVENT.TIME} 恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 持續時間:{EVENT.AGE} 事件ID:{EVENT.ID}9、創建報警動作
問題發生操作
主題
消息
告警主機:{HOST.NAME} 告警地址:{HOST.IP} 監控項目:{ITEM.NAME} 監控取值:{ITEM.LASTVALUE} 告警等級:{TRIGGER.SEVERITY} 當前狀態:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警時間:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID}問題恢復操作
主題
消息
告警主機:{HOST.NAME} 告警地址:{HOST.IP} 監控項目:{ITEM.NAME} 監控取值:{ITEM.LASTVALUE} 告警等級:{TRIGGER.SEVERITY} 當前狀態:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警時間:{EVENT.DATE} {EVENT.TIME} 恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 持續時間:{EVENT.AGE} 事件ID:{EVENT.ID}10、為用戶創建報警媒介
11、測試
執行下面命令,讓多核CPU 使用率達到100%
問題報警
問題恢復
12、企業微信API查看(可選)
如何獲取token
發送應用消息。里面有消失示例
總結
以上是生活随笔為你收集整理的zabbix添加微信报警的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言基础 | 方差分析(2):多因素方
- 下一篇: SpringBoot配置文件的修改