Zabbix 4.0 配置钉钉告警

2020年2月25日16:50:56 发表评论 2,606 views
摘要

最近疫情影响,大部分都在远程办公,钉钉这个软件马上就被广泛应用,所以我们zabbix也要配置上钉钉收发报警,保证服务可用性。 下面就问大家介绍 《Zabbix 4.0 配置钉钉告警 配置过程》

广告也精彩

最近疫情影响,大部分都在远程办公,钉钉这个软件马上就被广泛应用,所以我们zabbix也要配置上钉钉收发报警,保证服务可用性。

一、环境介绍:

系统版本:Centos7.6 
内核版本:3.10
Python版本:python2.7.5
监控服务:zabbix 4.2 (已升级到4.X版本)

二、创建钉钉群机器人

创建一个群,把需要收到报警信息的人员都拉到这个群内.然后点击群右上角的 群机器人->添加机器人->自定义,记录该机器人的webhook值!
Zabbix 4.0 配置钉钉告警

三、Zabbix server设置

3.1 查看zabbix默认脚本执行路径

[root@zabbix ~]# cat /etc/zabbix/zabbix_server.conf |grep AlertScriptsPath
AlertScriptsPath=/usr/lib/zabbix/alertscripts

3.2 添加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=xxxxxxxxxxxxxxxxx"
user=sys.argv[1]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
 },
"at": {
"atMobiles": [
 user
],
"isAtAll": False
 }
}
headers = {'Content-Type': 'application/json;charset=utf-8'}
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))

3.3 授权

[root@zabbix]# touch /var/log/zabbix/dg-Monitor.log
chown zabbix.zabbix dingding.py
chmod 755 dingding.py
chown zabbix.zabbix /var/log/zabbix/dg-Monitor.log

3.4 测试信息发送

./dingding.py test 158111572*** "这个条测试信息,忽略"
#注意开通python版本2.7.5,并且要有requests模块功能。否则会报错:“ImportError: No module named requests”
#如果版本没有问题,还是找不到,使用下面命令安装模块即可。
[root@zabbix]# yum install python-pip
pip -v
pip install requests

四、Zabbix监控界面设置

4.1、创建报警媒介.

  • ALERT.SENDTO 发送参数
  • ALERT.SUBJECT 主题参数
  • ALERT.MESSAGE 消息参数
    Zabbix 4.0 配置钉钉告警

4.2、用户添加报警媒介

收件人是钉钉上的手机号码.这里使用Admin管理员用户,在Admin用户的”报警媒介”里添加收件人信息;特别注意:这里只需要添加钉钉群里的任何一个成员的手机号码即可,即添加一个收件人,这样在机器人群里成员都能看到告警信息.
如果添加多个收件人,则机器人群里就会发送多个告警信息,一个收件人发一条信息.

Zabbix 4.0 配置钉钉告警

4.3、添加动作

动作里的报警信息和恢复信息都发送给Admin用户.

Zabbix 4.0 配置钉钉告警

默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

Zabbix 4.0 配置钉钉告警

恢复操作(确认操作也是一样):
默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

至此结束,快去试试吧,更多内容请查看 zabbix监控频道

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: