天天看點

zabbix釘釘告警

作者:街頭角落裡
zabbix釘釘告警

官網:https://www.zabbix.com/

環境:centos7; zabbix4.0

1/建立釘釘機器人

在釘釘建立一個群,然後在群裡添加“智能群助手”->“添加機器人”->“添加機器人”->"自定義"->“添加”,如圖:(“主”表示報警内容出現的字)

zabbix釘釘告警

儲存Webhook,等一下python腳本需要使用。

zabbix釘釘告警

2/zabbix主機檢視腳本存放位址

[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf |grep 'AlertScriptsPath'
AlertScriptsPath=/usr/lib/zabbix/alertscripts           

3/zabbix主機上部署pythone腳本

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# ll
總用量 8
-rwxr-xr-x 1 root root 991 4月 15 17:32 dingding.py           

python腳本dingding.py内容如下:

#!/usr/bin/env python
#coding:utf-8
#zabbix釘釘報警
import requests,json,sys,os,datetime #注意主機是否有對應的子產品
webhook="https://oapi.dingtalk.com/robot/send?access_token=bd5ed0e5689123456789" 
 #說明:這裡改為自己建立的機器人的webhook的值
user=sys.argv[1]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
user
],
"isAtAll": False
}
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/var/log/zabbix/dingding.log"):
f=open("/var/log/zabbix/dingding.log","a+")
else:
f=open("/var/log/zabbix/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"發送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "發送失敗" + "\n" + str(text))
f.close()           

可能用到相關中間件

yum -y install epel-release
yum install python-pip -y && pip install requests           

4/添加執行權限

chmod +x dingding.py
python dingding.py 主01 主01 主01 #這測試會在釘釘群裡報警           

5/配置zabbix

管理->“報警媒介類型”,如圖:

{ALERT.SENDTO}   {ALERT.SUBJECT}    {ALERT.MESSAGE}           
zabbix釘釘告警

6/配置觸發器

配置->動作->觸發器(建立動作),如圖:

zabbix釘釘告警

操作

zabbix釘釘告警
預設标題:
故障:Host{IPADDRESS} ls:{TRIGGER.STATUS}
消息内容:
主機名:{HOST.NAME}
告警主機名:{HOSTNAME1}
告警IP位址:{IPADDRESS}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
觸發告警項:{TRIGGER.NAME}
監控參數:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}: {ITEM.VALUE}
告警狀态:{TRIGGER.STATUS}: {ITEM.VALUE1}
事件ID:{EVENT.ID}           

恢複操作

zabbix釘釘告警
預設标題:
恢複:Host{IPADDRESS} ls:{TRIGGER.STATUS}
消息内容:
主機名:{HOST.NAME}
恢複主機名:{HOSTNAME1}
恢複IP位址:{IPADDRESS}
恢複時間:{EVENT.DATE} {EVENT.TIME}
恢複等級:{TRIGGER.SEVERITY}
觸發告警項:{TRIGGER.NAME}
監控參數:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}: {ITEM.VALUE}
恢複狀态:{TRIGGER.STATUS}: {ITEM.VALUE1}
事件ID:{EVENT.ID}           

7、使用者配置報警:

zabbix釘釘告警