温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-08 17:59:27 来源:亿速云 阅读:175 作者:柒染 栏目:建站服务器

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实现钉钉机器人告警的方法是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI