zabbix設定釘釘報警
1 新增機器人
在釘釘群裡面新增一個機器人
會獲取到一個URL:
'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx'
2 寫一個傳送訊息的指令碼
在zabbix-server端的配置檔案zabbix_server.conf中找到報警指令碼的配置
AlertScriptsPath=/usr/lib/zabbix/alertscripts
接下來寫一個釘釘傳送訊息的指令碼dingding.py,並放到/usr/lib/zabbix/alertscripts目錄底下
#!/usr/bin/python3import requests import json import sys # 告警群,測試環境 url = 'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx' def send_msg(msg): """ 傳送訊息的函式,這裡使用阿里的釘釘 :param msg: 要傳送的訊息 :return: 200 or False """ # url = url program = {"msgtype": "text", "text": {"content": msg}, } headers = {'Content-Type': 'application/json'} try: f = requests.post(url, data=json.dumps(program), headers=headers) except Exception as e: return False return f.status_code def main(): msg = sys.argv[1] send_msg(msg) if __name__ == '__main__': main()
修改指令碼許可權
chmod 755 /usr/lib/zabbix/alertscripts/dingding.py
3 ZABBIX的設定
建立媒體型別
給使用者繫結媒體
建立報警動作
新增好操作是這個樣子的
恢復操作和更新操作類似,這裡不再贅述!
下面給出告警訊息的標題和訊息內容格式
操作:
預設標題:
伺服器:{HOST.NAME}發生: {TRIGGER.NAME}故障!
訊息內容:
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控專案:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
告警資訊:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
當前狀態:{TRIGGER.STATUS}
恢復操作:
預設標題:
伺服器:{HOST.NAME}: {TRIGGER.NAME}已恢復!
訊息內容:
告警主機:{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}
更新操作:
預設標題:
伺服器:{HOST.NAME}: 報警確認
訊息內容:
確認人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
確認資訊如下:
"{ACK.MESSAGE}"
問題伺服器IP:{HOSTNAME1}
問題ID:{EVENT.ID}
當前的問題是: {TRIGGER.NAME}
新增好的效果
釘釘收到訊息的內容
&n