zabbix告警使用钉钉通知

1、钉钉群创建机器人

        先在钉钉群中创建自定义机器人,复制保存webhook

2、zabbix服务器安装python模块

yum install python3 python3-requests
pip install requests

3、编写钉钉通知程序

        在/usr/lib/zabbix/alertscripts目录中创建dingding.py脚本
        cd /usr/lib/zabbix/alertscripts/
        vi dingding.py

        增加权限

        touch /tmp/zabbix_dingding.log
        chmod +x /tmp/zabbix_dingding.log
        chown zabbix.zabbix /tmp/zabbix_dingding.log
        chown zabbix.zabbix /usr/lib/zabbix/alertscripts/dingding.py
        chmod +x dingding.py

代码如下:

#!/usr/bin/env python3
#coding:utf-8
#zabbix钉钉报警

import requests
import json
import sys
import os
import datetime

webhook="https://oapi.dingtalk.com/robot/send?access_token=你的webhook"
user=sys.argv[1]
text=sys.argv[2]#告警信息
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()

4、设置zabbix配置

在zabbix_server.conf中配置告警脚本的路径:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

5、zabbix的web界面设置

       a. 报警媒介类型设置,参数:

                {ALERT.SENDTO}-------#发送给谁

                {ALERT.MESSAGE}-------#消息内容

 

        b. 动作设置:

                消息:
                告警主机:{HOSTNAME1}
                告警地址:{HOST.IP}
                告警时间:{EVENT.DATE} {EVENT.TIME}
                告警等级:{TRIGGER.SEVERITY}
                告警信息: {TRIGGER.NAME}
                告警项目:{TRIGGER.KEY1}
                问题详情:{ITEM.NAME}:{ITEM.VALUE}
                当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
                事件ID:{EVENT.ID}

 

        c. 用户设置:

相关推荐

  1. zabbix】(四)-告警&企业微信配置

    2024-07-14 12:46:01       74 阅读
  2. 消息异常通知

    2024-07-14 12:46:01       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 12:46:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 12:46:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 12:46:01       57 阅读
  4. Python语言-面向对象

    2024-07-14 12:46:01       68 阅读

热门阅读

  1. FFmpeg学习(五)-- libswresample使用说明及函数介绍

    2024-07-14 12:46:01       23 阅读
  2. 【大学生前端期末作业】顶级茶叶网页

    2024-07-14 12:46:01       15 阅读
  3. Spring @Scheduled学习

    2024-07-14 12:46:01       16 阅读
  4. Xcode自动化测试全景:释放你的应用质量潜能

    2024-07-14 12:46:01       21 阅读
  5. 常用软件的docker compose安装

    2024-07-14 12:46:01       27 阅读
  6. Dubbo 的集群容错机制

    2024-07-14 12:46:01       19 阅读
  7. c++【入门】捡石头

    2024-07-14 12:46:01       20 阅读
  8. 详解 QAxObject

    2024-07-14 12:46:01       12 阅读
  9. windos安装qemu启动树莓派2b连接网卡和openssh-server

    2024-07-14 12:46:01       19 阅读
  10. ARM/Linux嵌入式面经(十五):中科曙光

    2024-07-14 12:46:01       20 阅读
  11. C++ 中的返回值优化

    2024-07-14 12:46:01       20 阅读
  12. 2024/7/14 英语每日一段

    2024-07-14 12:46:01       20 阅读