zabbix连接钉钉机器人报警

在钉钉客户端的群中,添加自定义机器人
在这里插入图片描述
添加完成后记录好webhook值,待会会用到
在这里插入图片描述
修改zabbix服务端配置文件,设置脚本的存放位置,以后要使用的脚本都要存放到该目录下

[root@server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

安装所需模块

[root@server ~]# yum install python-pip
[root@server ~]# pip -V
[root@server ~]# pip install requests

或者这样

[root@server ~]# yum install -y python-requests

我两条都做过

编写钉钉报警的脚本,并且修改属组属主

[root@server ~]# vim /usr/local/zabbix/share/zabbix/alertscripts/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=468c0460b7b442509b55bbb7a4203e74e3f218686699c3ca1e7704c870775ff1"    #添加之前复制的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("/tmp/zabbix_dingding.log"):
    f=open("/tmp/zabbix_dingding.log","a+")
else:
    f=open("/tmp/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()
[root@server ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/ 
[root@server alertscripts]# chown zabbix:zabbix dingding.py
[root@server alertscripts]# ll
总用量 8
-rwxrwxrwx 1 zabbix zabbix 977 114 20:56 dingding.py

然后添加报警媒介及动作
在这里插入图片描述
ps:参数模板在这

设置用户使用报警媒介
管理→用户选择→admin,选择报警媒介,添加
在这里插入图片描述
ps:箭头方向填群中的手机号
然后选择配置→动作,添加新的动作,名称自定义,最好设置英文,操作、恢复操作、确认操作按照下面模板即可
在这里插入图片描述
然后点击更新添加即可。
ps:配置模板参数模板在这

配置模板
标题:故障{TRIGGER.STATUS}, 服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障
内容:告警信息:{TRIGGER.NAME}
	  告警主机:{HOSTNAME1}
      告警时间:{EVENT.DATE} {EVENT.TIME}
      告警等级:{TRIGGER.SEVERITY}
	  告警项目:{TRIGGER.KEY1}
	  问题详情:{ITEM.NAME}:{ITEM.VALUE}
	  当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
	  事件ID:{EVENT.ID}

模拟报错后钉钉群内就会收到类似提醒
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章