目錄
zabbix配置釘釘機器人告警
1. 在釘釘中創建群聊,在群里面添加自定義機器人
保存Webhook url鏈接,安全中定義相關設置,我這里使用關鍵字,只有信息內容中有關鍵字的才會被機器人發送
2. 配置釘釘告警腳本
#安裝python依賴模塊python-requests
[root@localhost ~]# yum -y install python-requests
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: bboysoul
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "釘釘機器人webhook url"
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"需要@人的手機號"
],
"isAtAll": False
},
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
將上邊的python代碼存放在zabbibx服務端的告警腳本的位置
在zabbix_server.conf中配置告警腳本的路徑
# AlertScriptsPath=${datadir}/zabbix/alertscripts
我這里修改為
AlertScriptsPath=/usr/local/etc/zabbix/alertscripts
[root@localhost ~]# chown -R zabbix.zabbix /usr/local/etc/zabbix
[root@localhost ~]# vim /usr/local/etc/zabbix/alertscripts/dingding.py
#將上面的python腳本粘粘到/usr/local/etc/zabbix/alertscripts/dingding.py
#將腳本中的webhook url和需要@的人手機號修改
3. 配置腳本告警
3.1 創建媒介
Administration
---> Media Type
--->Create media type
#消息可以使用下面的模板,也可以用自帶的模板(釘釘要添加關鍵詞)
故障:{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!
告警主機:{HOSTNAME1},IP地址:{HOST.CONN}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
3.2 為用戶添加對應媒介
Administration
---> Users
--->Admin
3.3 創建動作
Configuration
---> Actions
--->Create action
4. 觸發,查看
使用系統自帶的模板中的觸發器觸發
[root@client ~]# useradd xiaoming
[root@client ~]# id xiaoming
uid=1005(xiaoming) gid=1005(xiaoming) groups=1005(xiaoming)