zabbix3.4.15用python實現釘釘機器人告警的方法
zabbix伺服器監控到異常,可以通過釘釘機器人進行報警通知,具體配置如下:
釘釘機器人配置:
需要新建一個釘釘群,群裡面新增一個機器人即可。
報警用到的python指令碼:
#cat dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix釘釘報警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=3dee44ff7fecfxxxxxxxxxxxxxxxxx" --釘釘機器人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/zabbix_dingding.log"):
f=open("/tmp/zabbix_dingding.log","a+")
else:
f=open("/tmp/zabbix_dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"傳送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "傳送失敗" + "\n" + str(text))
f.close()
備註:需要把此指令碼放到zabbix定義的指令碼執行目錄裡。
檢視zabbix裡面定義的指令碼執行目錄方法:
#cat /etc/zabbix/conf/zabbix_server.conf | grep AlertScriptsPath
### Option: AlertScriptsPath
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
釘釘機器人webhook地址獲取方法:
群設定--> 群機器人-->本群的機器人,選擇之前新增的機器人,然後點開,見下圖:
WEB介面上的配置:
1、配置使用者可以使用指令碼報警
使用者-->找到Admin,點開,找到報警媒介
2、建立報警媒介:
名稱 dingding
型別 指令碼
名稱 dingding.py
指令碼引數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
建立使用者指定報警媒介型別
管理--> 報警媒介型別-->建立媒體型別
建立觸發器傳送警告動作
配置-->動作-->建立動作
操作和恢復操作需填寫的內容如下:
標題:故障資訊!
內容:
主機名稱:{HOST.NAME}
主機地址:{HOST.IP}
主機分組:{TRIGGER.HOSTGROUP.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警專案:({EVENT.ID}){TRIGGER.KEY1}
告警資訊:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件狀態:{TRIGGER.STATUS}
傳送時間:{TIME}
預設標題:恢復資訊!
訊息內容:
主機名稱:{HOST.NAME}
主機地址:{HOST.IP}
主機分組:{TRIGGER.HOSTGROUP.NAME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
恢復專案:({EVENT.RECOVERY.ID}):{TRIGGER.KEY1}
恢復資訊:{TRIGGER.NAME}
恢復詳情:{ITEM.NAME}:{ITEM.VALUE}:{EVENT.RECOVERY.VALUE}
當前狀態:{EVENT.RECOVERY.STATUS}
傳送時間:{TIME}
4、測試傳送結果
檢視告警傳送的日誌內容,status列為傳送狀態,error為錯誤提示資訊。
【報表->審計->動作->選擇時間段】
【報表->審計->動作日誌->選擇時間段】
釘釘能收到報警資訊,配置完成。
收到的告警資訊類似如下圖:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2565146/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 釘釘機器人告警指令碼機器人指令碼
- Jenkins實現CICD之釘釘告警Jenkins
- 快速實現釘釘告警通知、處理告警、關閉告警
- 使用zabbix實現郵箱/釘釘告警
- 教你如何用smokeping實現釘釘告警
- 釘釘機器人實現異常預警通知功能機器人
- 如何使用釘釘群機器人給釘釘群傳送訊息機器人
- python監控MongoDB服務程序,故障釘釘告警PythonMongoDB
- Python透過openapi呼叫釘釘機器人傳送訊息PythonAPI機器人
- yii2-dingtalk 釘釘群機器人機器人
- 使用釘釘建立企業內部機器人機器人
- python監控伺服器應用日誌,推送釘釘機器人,實時關注日誌異常Python伺服器應用日誌機器人
- golang接收alertmanager的告警併傳送釘釘Golang
- 5分鐘快速接入釘釘實現釘釘考勤
- 從零開始打造專屬釘釘機器人機器人
- 急速上線 Serverless 釘釘機器人“防疫精靈”Server機器人
- 手把手教你部署Apache DolphinScheduler —— 釘釘告警Apache
- 21.Prometheus告警之Alertmanager告警(一)-郵件釘釘微信Prometheus
- Tp & Laravel 複寫 錯誤日誌服務 實現 釘釘機器人通知[保姆級教程]Laravel機器人
- 釘釘機器人自動關聯 GitHub 傳送 approval prs機器人GithubAPP
- Laravel框架使用釘釘聊天機器人接收系統警報Laravel框架機器人
- svn + 釘釘機器人制作簡單的程式碼跟蹤系統機器人
- Python釘釘報警及Zabbix整合釘釘報警Python
- 釘釘推送機器人訊息傳送 Laravel 擴充套件包機器人Laravel套件
- 又花了半個小時將 ChatGPT 接入了釘釘機器人ChatGPT機器人
- docker-elk配置sentinl外掛傳送釘釘告警Docker
- uniapp實現釘釘掃碼登入APP
- Yii2框架使用釘釘聊天機器人接收系統警報框架機器人
- 利用釘釘機器人API傳送東方財富交易資訊機器人API
- 【Python】釘釘webhook傳送通知PythonWebHook
- Ruff裝置接入阿里雲IoT平臺推送告警到釘釘群阿里
- 分散式監控系統Zabbix3.4-釘釘告警配置記錄分散式
- 雲釘一體:EventBridge 聯合釘釘聯結器打通雲釘生態
- jenkins2.235.5釘釘外掛實現訊息通知Jenkins
- Azure DevOps (二) 實現Git倉庫和釘釘的聯動devGit
- 釘釘的自定義機器人突然不能用了,用 webhook 發群訊息沒反應,大家有遇到的嗎機器人WebHook
- Python巡檢OGG並推送釘釘訊息Python
- 釘釘卡怎麼領取? 釘釘卡申請的圖文教程