zabbix3.4.15用python实现钉钉机器人告警的方法是什么-创新互联

zabbix3.4.15用python实现钉钉机器人告警的方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

专注于为中小企业提供网站建设、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业惠安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

zabbix服务器监控到异常,可以通过钉钉机器人进行报警通知,具体配置如下:

钉钉机器人配置:

 需要新建一个钉钉群,群里面添加一个机器人即可。

报警用到的python脚本:

#cat 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=3dee44ff7fecfxxxxxxxxxxxxxxxxx"  --钉钉机器人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()

备注:需要把此脚本放到zabbix定义的脚本执行目录里。

查看zabbix里面定义的脚本执行目录方法:

#cat /etc/zabbix/conf/zabbix_server.conf | grep AlertScriptsPath

### Option: AlertScriptsPath

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

钉钉机器人webhook地址获取方法:

群设置--> 群机器人-->本群的机器人,选择之前添加的机器人,然后点开,见下图:

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

WEB界面上的配置:

1、配置用户可以使用脚本报警

用户-->找到Admin,点开,找到报警媒介

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

2、创建报警媒介:

名称  dingding

类型  脚本

名称  dingding.py

脚本参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

创建用户指定报警媒介类型

管理--> 报警媒介类型-->创建媒体类型

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

创建触发器发送警告动作

配置-->动作-->创建动作

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

操作和恢复操作需填写的内容如下:

标题:故障信息!

内容:

主机名称:{HOST.NAME}

主机地址:{HOST.IP}

主机分组:{TRIGGER.HOSTGROUP.NAME}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警项目:({EVENT.ID}){TRIGGER.KEY1}

告警信息:{TRIGGER.NAME}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

事件状态:{TRIGGER.STATUS}

发送时间:{TIME}

默认标题:恢复信息!

消息内容:

主机名称:{HOST.NAME}

主机地址:{HOST.IP}

主机分组:{TRIGGER.HOSTGROUP.NAME}

恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

恢复项目:({EVENT.RECOVERY.ID}):{TRIGGER.KEY1}

恢复信息:{TRIGGER.NAME}

恢复详情:{ITEM.NAME}:{ITEM.VALUE}:{EVENT.RECOVERY.VALUE} 

当前状态:{EVENT.RECOVERY.STATUS}

发送时间:{TIME}

4、测试发送结果

查看告警发送的日志内容,status列为发送状态,error为错误提示信息。

【报表->审计->动作->选择时间段】

【报表->审计->动作日志->选择时间段】

钉钉能收到报警信息,配置完成。

收到的告警信息类似如下图:

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

zabbix3.4.15用python实现钉钉机器人告警的方法是什么

关于zabbix3.4.15用python实现钉钉机器人告警的方法是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联-成都网站建设公司行业资讯频道了解更多相关知识。


分享名称:zabbix3.4.15用python实现钉钉机器人告警的方法是什么-创新互联
网站地址:http://pwwzsj.com/article/sphpd.html