1. 程式人生 > >zabbix設定釘釘報警

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/python3
import 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