zabbix 3.0釘釘報警配置
- 配置釘釘機器人 擷取釘釘webhook
- 釘釘報警腳本(python2.7)
- Zabbix web端配置監控
配置釘釘機器人 擷取釘釘webhook
釘釘拉人建立釘釘報警群,然後在釘釘報警群設定中 添加機器人

添加機器人–選擇自定義
複制擷取機器人的webhook(留着必有大用!!!)
釘釘報警腳本(python2.7)
腳本存放目錄 /usr/local/zabbix/share/zabbix/alertscripts/
編寫腳本, 使用centos自帶的python 2.7, 其中隻需修改api_url,就是剛才我們複制擷取的webhook
#!/usr/bin/python2
# -*- 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=*******45bea70996a4cc37b917ec7d8a110274627917fa08c37"。 #上述webhook
def msg(text, subject):
json_text= {
"actionCard": {
"title": subject,
"text": text,
"hideAvatar": "0",
"btnOrientation": "0",
"btns": [{"title": subject[:12],
"actionURL": ""
}
]
},
"msgtype": "actionCard"
}
print(requests.post(api_url,json.dumps(json_text),headers=headers).content)
if __name__ == '__main__':
text = sys.argv[1]
text = text.replace("", "")
subject = sys.argv[2]
msg(text, subject)
儲存後, 加執行權限
chmod +x dingding.py
actionURL": "" #雙引号内可以加自己用的zabbixURL或者其他URL位址
測試腳本問題
python dingding.py 報警 測試
注意:若提示Python ImportError: No module named ‘requests’ 是沒有requests子產品。
解決辦法
pip install requests
若不能使用pip 則:
yum -y install epel-release。#安裝epel擴充源
yum -y install python-pip #安裝pip
然後在用pip install requests 安裝該子產品
Zabbix web端配置監控
管理–報警媒介類型–建立媒介類型
#腳本名稱必須與伺服器上腳本名稱一緻!!
配置–動作–建立動作
預設資訊
{
告警主機:{HOST.NAME}
告警位址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
目前狀态:{TRIGGER.STATUS}
告警資訊:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}
{
報警ing
}
恢複資訊
{
告警主機:{HOST.NAME}
告警位址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
目前狀态:{TRIGGER.STATUS}
告警資訊:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢複時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}
}
{
報警 end
}
條件
操作。 配置報警使用者人選
配置儲存 更新!
釘釘自定義機器人api文檔 https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq