zabbix配置钉钉机器人告警

1.在钉钉上创建一个钉钉群组

2.在群组中添加一个机器人

 

 

 

 

 

3.配置zabbix server调用钉钉接口的代码(使用python)

查看是否有python环境

python --version

 找到zabbix 的AlertScriptsPath目录路径

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

将调用钉钉接口的python文件放在AlertScriptsPath目录路径下

vi /usr/lib/zabbix/alertscripts/dingding.py

import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=af7a0a3b604b4ada3fb2667a8c7f92463c23302bda2765f2b6e3a91c0996615b"  #此处将刚刚记录的Webhook粘贴进来替换掉即可
user=sys.argv[1]
text=sys.argv[3]
data={
    "msgtype": "text",
    "text": {
        "content": text
    },
    "at": {
        "atMobiles": [
            user
        ],
        "isAtAll": True
    }
}
headers = {'Content-Type': 'application/json'}
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+")   #dingding.log记录了发送的消息记录
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))
    f.close()

给python文件增加执行权限

chmod +x /usr/lib/zabbix/alertscripts/dingding.py

创建python文件中的日志文件

touch /var/log/zabbix/dingding.log

给日志文件更改所属用户和组

chown zabbix.zabbix /var/log/zabbix/dingding.log

测试python文件(若是测试有报错一般是没有对应的库,把报错的库安装上即可)

/usr/lib/zabbix/alertscripts/dingding.py a  b  "zabbix:测试"

 4.在zabbix server中配置报警媒介类型

 

 

 

 

 

 

 

 

 问题的消息模板

zabbix message
告警主机:{HOST.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
当前状态:{TRIGGER.STATUS}
事件ID:{EVENT.ID}
触发器ID:{TRIGGER.ID}
告警项目:{ITEM.NAME}
告警值:{ITEM.VALUE}
问题详情:{ITEM.DESCRIPTION}

问题恢复的消息模板

zabbix message
恢复主机:{HOST.NAME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
恢复信息:{TRIGGER.NAME}
当前状态:{TRIGGER.STATUS}
事件ID:{EVENT.ID}
触发器ID:{TRIGGER.ID}
恢复项目:{ITEM.NAME}
恢复值:{ITEM.VALUE}
问题详情:{ITEM.DESCRIPTION}

5.配置动作

 

 

 

 

 

6.配置用户 

 

7.测试

将一台被zabbix监控的机器的zabbix agent服务关闭,看是否会收到钉钉告警

systemctl stop zabbix-agent

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13770.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java——二叉搜索树的后序遍历序列

题目链接 牛客在线oj题——二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。 数据范围: 节点数量 0≤n≤1000 …

无人机各个类型介绍

为了执行,无人机可能由类似的元件制成,但无论是它们的能力,还是由什么组成的,它们都在某种程度上有所不同。大多数无人机都是为了执行特定任务而制造的,因此以特定的方式建造,以适应它们将要使用的环境。 …

如何实现24小时客户服务

许多企业都有着这样的愿望:在不增加客服人员的同时能实现24小时客户服务。 那么有没有什么方法可以实现这一想法呢?在想解决方案之前我们可以先来谈谈客服的作用。 客服的作用主要为以下2点: 帮助用户更快地了解产品(减轻产品的…

OpenAI最新官方ChatGPT聊天插件接口《插件身份验证》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(三)(附源码)

Plugin authentication 插件身份验证 前言Plugin authentication 插件身份验证No authentication 无认证Service level 服务级别User level 用户级别OAuth其它资料下载 前言 “如果你不能信任插件,那么你就不能信任整个应用程序。”正因为如此,ChatGPT始…

第 三 章 UML 类图

文章目录 前言一、依赖关系(虚线箭头)二、泛化关系:继承(实线空心箭头)三、实现关系(虚线空心箭头)四、关联关系(一对一为实线箭头,一对多为实线)五、聚合关系…

KeePass搭建一个私人密码库

本文转载于我的博客KeePass搭建一个私人密码库 前言 {% note info no-icon %} 既然有人想看那我就不咕了嘻嘻 {% endnote %} 不知道在哪部电影里看到过这样一句话:根据社会工程学,正常人人脑是不会记住超过3种以上完全不同的复杂密码 所以你只要泄露一个…

Blender插件Lazy Viewport

目录 1.Lazy Viewport插件1.1 解压Lazy Viewport插件1.2 blender偏好设置1.3 打开插件1.4 安装插件1.5 勾选插件Lazy Viewport1.6 安装插件前1.7 安装插件后 1.Lazy Viewport插件 Blender 的一个简单插件,用于将标准 G、R、S 热键映射到视图工具,因此您…

一起学 WebGL:三角形加上渐变色

大家好,我是前端西瓜哥。之前教大家绘制一个红色的三角形,这次我们来画个有渐变的三角形。 本文为系列文章,请先阅读如何绘制红色三角形的文章: 《一起学 WebGL:绘制三角形》 原来的写法,颜色是在片元着色器…

分布式数据库架构路线大揭秘

文章目录 分布式数据库是如何演进的?数据库与分布式中间件有什么区别?如何处理分布式事务,提供外部一致性?如何处理分布式SQL?如何实现分布式一致性? 数据库更适合金融政企的未来 这些年大家都在谈分布式数…

成功上岸字节35K,技术4面+HR面,耗时20天,真是不容易

这次字节的面试,给我的感触很深,意识到基础的重要性。一共经历了五轮面试:技术4面+HR面。 下面看正文 本人自动专业毕业,压抑了五个多月,终于鼓起勇气,去字节面试,下面是我的面试过…

不知道今天吃什么?今天吃什么 API 告诉你

引言 在现代社会,由于生活节奏加快和繁忙的工作日程,越来越多的人感到选择今天吃什么餐点是一项繁琐且令人困扰的任务。为了解决这个问题,许多人会求助于在线菜谱和美食博客等渠道,但是这些选项通常是繁琐和耗时的。 幸运的是&a…

相参积累

原理 在探测远距离目标时,由于目标回波信号比较微弱,信号幅度很小,从而导致接收信号的信噪比(SNR)过低,以至于信号处理算法检测不到目标,从而发生漏检。 在脉冲体制雷达中,雷达系统…

公网远程访问局域网SQL Server数据库【无公网IP内网穿透】

目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 转发自CSDN远程穿透的文章&…

HoloLens2场景理解,识别平面信息

因为可用的资料比较少,就记录下吧,大家也可以少走弯路,节省时间。 场景理解,通俗的讲,可以识别空间当中的墙面、地板、天花板、平台等. 场景理解(Scene Understanding)是指 HoloLens2 通过深度传感器、摄像头和计算机视觉算法等技术,能够对…

微信小程序对接在线客服系统,对接小程序订阅消息模板,小程序订阅方法以及后端发送订阅模板消息的方法...

微信小程序想要对接独立在线客服系统,除了使用小程序消息推送接口外,还可以使用webview嵌入的形式嵌入聊天链接。 但是,使用webview嵌入的形式,当用户离开页面以后,就收不到客服回复的消息了 所以,我们需要…

Nginx快速上手~

注:本文针对官网的快速入门教程进行一个中文的解释,以帮助英文阅读能力较差的学习者快速上手 参考官网连接Beginners Guide (nginx.org) Centos下的安装 sudo yum install yum-utils # 创建文件 vim /etc/yum.repos.d/nginx.repo # 输入以下内容 ####…

IDEA插件-MavenHapler

1.安装Maven Helper Maven Helper 是 IntelliJ IDEA 中的一个插件,可以帮助您管理 Maven 依赖项。它可以帮助您更容易地删除不再需要的依赖项,查看依赖项的冲突,以及执行其他有关 Maven 依赖项的操作。 打开 IDEA 设置页面: 在插…

信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

目录 reNgine介绍 工具运行机制 安装部署 安装rengine 安装python依赖包 合并Django前端静态文件 安装Postgresql 创建reNgine账号 启动reNgine 启动reNgine成功 启动reNgine后在浏览器访问:http://localhost:8000/ 这时会发现前端静态资源加载失败&…

个人杂笔记

docker里面的-p暴露端口是确确实实写了才会映射到主机 docker run -d --hostname my-rabbit --name my-rabbit -e RABBITMQ_DEFAULT_USERroot -e RABBITMQ_DEFAULT_PASS250772730 -p 8080:8080 -p 15672:15672 -p 5672:5672 rabbitmq:3-managementpip安装提示warning 可能原因…

【C++】vector的简化模拟实现

文章目录 1. 主要结构2. 默认成员函数3. 迭代器4. 容量相关1. size和capacity2. reserve3. resize 5. 数据访问6. 数据修改1. push_back2.pop_back3. insert4.erase5.swap6.clear 1. 主要结构 参照SGI版本的vector实现,使用三个指针来维护这样一段内存空间 templa…