Zabbix 配置釘釘告警功能的實現(xiàn)代碼
需求
Zabbix配置釘釘告警和Prometheus配置釘釘告警類似。只不過Zabbix通過釘釘告警是通過Python腳本實現(xiàn)。而Prometheus是通過釘釘?shù)亩M(jìn)制包實現(xiàn)。
釘釘?shù)脑O(shè)置可以參看我的另外一篇博文(Prometheus 配置釘釘告警): https://knight.blog.csdn.net/article/details/105583741
我們現(xiàn)在主要來講解Zabbix的設(shè)置實現(xiàn)
釘釘Webhook代碼實現(xiàn)
vim /usr/local/zabbix/share/zabbix/alertscripts/dingding.py
#!/usr/bin/env python#coding:utf-8 import requests,json,sys,os,datetimewebhook="https://oapi.dingtalk.com/robot/send?access_token=6e5bcfee12bc6fa7f3c6bd16b7d6c333d86266cecadd3fe5e77a29cedae9f9" #說明:這里改為自己創(chuàng)建的機(jī)器人的webhook的值 user=sys.argv[1]text=sys.argv[3]data={ "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ user ], "isAtAll": False }}headers = {"Content-Type": "application/json"}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)if os.path.exists("/tmp/dingding.log"): f=open("/tmp/dingding.log","a+")else: f=open("/tmp/dingding.log","w+")f.write("\n"+"--"*30)if x.json()["errcode"] == 0: f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"發(fā)送成功"+"\n"+str(text)) f.close()else: f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "發(fā)送失敗" + "\n" + str(text)) f.close()
執(zhí)行一下:
chmod +x dingding.py # 加執(zhí)行權(quán)限python dingding.py a b "測試"
我們看釘釘能不能收到告警(記得釘釘要加服務(wù)器的公網(wǎng)ip的白名單)
Zabbix的配置如下:
(1)配置報警媒介類型:
配置---> 報警媒介類型,腳本參數(shù)如下:
{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}
截圖如下:
(2)配置動作
配置--->動作--->創(chuàng)建動作,把微信告警或者郵件告警的“操作”和恢復(fù)操作內(nèi)容拷貝過來即可。
(3)最后配置用戶
配置--->用戶---> 報警媒介,把釘釘加進(jìn)來即可。 其中收件人要寫自己的電話號碼。
Zabbix的配置就配置完了。我們看一下告警的效果圖
總結(jié)
到此這篇關(guān)于Zabbix 配置釘釘告警的文章就介紹到這了,更多相關(guān)Zabbix 配置釘釘告警內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
1. zabbix 通過 agent 監(jiān)控進(jìn)程、端口的詳細(xì)過程2. zabbix如何添加監(jiān)控主機(jī)和自定義監(jiān)控項3. kubernetes集群搭建Zabbix監(jiān)控平臺的詳細(xì)過程4. Linux shell環(huán)境下Zabbix Api的使用5. 解決zabbix監(jiān)控因php問題導(dǎo)致圖形界面中文亂碼方法6. Centos7 Zabbix3.4郵件告警配置(解決郵件內(nèi)容為xx.bin附件問題)7. Zabbix 2.4.5自帶MySQL監(jiān)控的配置使用教程8. 詳解如何調(diào)用zabbix API獲取主機(jī)9. Zabbix實現(xiàn)監(jiān)控多個mysql過程解析10. Zabbix如何通過ssh監(jiān)控獲取網(wǎng)絡(luò)設(shè)備數(shù)據(jù)
