Zabbix5.0 钉钉报警配置

一、创建钉钉机器人

1.1 步骤:智能群助手--->添加机器人--->自定义--->添加
image.png

image.png

image.png
1.2 进行机器人设置
image.png
1.3 记下Webhook,很重要,点击完成
image.png

二、zabbix设置

2.1 找到zabbix默认存放脚本的目录
image.png
2.2 到该目录下编写dingding.py脚本(脚本中包含钉钉机器人的webhook值):
[root@zabbix-master alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@zabbix-master alertscripts]# cat dingding1.py 
#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=???????????????????????????????"
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("/usr/lib/zabbix/logs/dingding.log"):
    f=open("/usr/lib/zabbix/logs/dingding.log","a+")
else:
    f=open("/usr/lib/zabbix/logs/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@zabbix-master alertscripts]# 

2.3 创建上面脚本日志的路径和文件
[root@zabbix-master alertscripts]# mkdir -p /usr/lib/zabbix/logs/
[root@zabbix-master alertscripts]# touch /usr/lib/zabbix/logs/dingding.log
[root@zabbix-master alertscripts]# chmod 755 dingding.py 
[root@zabbix-master alertscripts]# chown zabbix.zabbix dingding.py
[root@zabbix-master alertscripts]# chown zabbix.zabbix /usr/lib/zabbix/logs/dingding.log

测试一下脚本

两个参数可以随意,但是一定要有。测试信息一定要加上钉钉机器人里面设置的关键词。

[root@zabbix-master alertscripts]# ./dingding.py  a  b  "eliauk: 这是测试"
[root@zabbix-master alertscripts]# 

image.png

三、Zabbix监控界面配置

3.1 创建报警媒介. 三个参数分别是:ALERT.SENDTO ALERT.SUBJECT ALERT.MESSAGE
image.png
3.2 给用户添加报警媒介
image.png
3.3 配置动作

image.png

image.png

image.png

image.png

配置完点击“更新”

四、测试zabbix钉钉告警

关掉nginx服务

[root@zabbix-master alertscripts]# netstat -lntp | grep 81
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      16757/nginx: master 
tcp6       0      0 :::81                   :::*                    LISTEN      16757/nginx: master 
[root@zabbix-master alertscripts]# systemctl stop nginx
[root@zabbix-master alertscripts]# netstat -lntp | grep 81
[root@zabbix-master alertscripts]# 

image.png

查看一下钉钉告警日志

image.png

===========配置完成==========

推荐阅读更多精彩内容