zabbix4.0添加钉钉机器人报警

一、创建群聊、添加机器人

  1. 下载钉钉电脑版,创建钉钉群聊,操作步骤较简单,不再赘述,具体步骤为:
    创建群聊 → 设置 → 添加机器人 → 自定义
    在这里插入图片描述

2.创建定义机器人,特别注意自定义关键词这儿,大概意思是包含关键词才能通过机器人进行报警动作,相当于密码认证的作用
在这里插入图片描述
3. 添加成功后,会生成一个webook值,后面脚本会用
在这里插入图片描述

二、编写报警脚本

  1. 在zabbix的配置文件中(zabbix_server.conf)找到alertscripts的路径,本文的是在/usr/lib/zabbix/alertscripts
root@stangai-Inspiron-3881:~$ cd /usr/lib/zabbix/alertscripts/

root@stangai-Inspiron-3881:~$ vim dingding.py

root@stangai-Inspiron-3881:~$ chmod +x dingding.py

root@stangai-Inspiron-3881:~$ ls 
nohup.log  sendemail.sh  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=26sdf8sdf789sdf34da53b75e7aba34534avef02c19b29eaa1acba999f"      #说明:这里改为自己创建的机器人的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("/usr/lib/zabbix/log/dingding.log"):
    f=open("/usr/lib/zabbix/log/dingding.log","a+")
else:
    f=open("/usr/lib/zabbix/log/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)+str(x.json()))
  1. 测试脚本
    测试脚本中必须包含创建机器人时设置的自定义关键字(我设置的是zabbix报警和zabbix恢复,测试的时候随便用一个就行),否则消息发送失败
./dingding.py  15154250000  test  zabbix报警:测试  

#可以在/usr/lib/zabbix/log/dingding.log日志中查看发送状态日志,显示发送成功

钉钉消息推送成功!

在这里插入图片描述

三、配置zabbix报警类型和动作

  1. 添加报警媒介类型
    在这里插入图片描述
  2. 添加动作
    在这里插入图片描述

在这里插入图片描述

#默认标题:消息内容中必须包含创建机器人时自定义的关键字:“zabbix报警”,否则无法推送消息!
zabbix报警故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

#消息内容
zabbix报警故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

在这里插入图片描述

#默认标题:消息内容中必须包含创建机器人时自定义的关键字:“zabbix恢复”,否则无法推送消息!如若不想接收恢复消息,不设置即可。
zabbix恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

#消息内容
zabbix恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

收件人填钉钉账号的电话即可,可根据实际情况推送相关登记信息;

在这里插入图片描述

  1. 测试告警是否发送成功
# 停掉agent服务制造问题
root@stangai-Inspiron-3881:~$ sytemctl stop zabbix_agent.service

收到告警推送消息,测试成功!!!

在这里插入图片描述

# 恢复agent服务
root@stangai-Inspiron-3881:~$ sytemctl start zabbix_agent.service

收到恢复推送消息,测试成功!!!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

root@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值