創建釘釘羣,開啓報警機器人
打開釘釘羣—找到智能羣助手—創建自定義釘釘機器人–獲取webhook值
在zabbix-server端配置腳本
1.找到腳本配置目錄
[root@21 ~]# cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
2.編寫腳本
[root@s21 ~]# cat /usr/lib/zabbix/alertscripts/dingding.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = 'https://oapi.dingtalk.com/robot/send?access_token=bf3c2e43b87aaec92ab6286e0e656fd4fee941f45fce6e5406bc21axxxxx0272'
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"130"
],
"isAtAll": False
},
"text": {
"content": "zabbix告警"+":"+text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
“content”: “zabbix告警”+":"+text
這個zabbix告警是安全自定義的關鍵字,必須要加上,替換爲你自己的就好了
3.測試腳本
[root@21 alertscripts]# ./dingding.py test
{"errcode":0,"errmsg":"ok"}
在web界面配置告警
在管理–報警媒介類型中新建–輸入名稱–類型等等
在用戶中設置報警媒介
在動作中,添加觸發的操作,恢復操作等等
附件:
操作:
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
當前狀態:{TRIGGER.STATUS}
恢復操作
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}
當前狀態:{TRIGGER.STATUS}
更新操作
確認人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
確認信息如下:
"{ACK.MESSAGE}"
問題服務器IP:{HOSTNAME1}
問題ID:{EVENT.ID}
當前的問題是: {TRIGGER.NAME}