Zabbix 配置钉钉告警

Zabbix 配置钉钉告警

随着企业IT运维需求的不断增加,及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中,Zabbix 因其强大的监控功能和灵活的告警机制,成为了很多企业的首选。同时,随着企业内部沟通工具的多样化,利用钉钉(DingTalk)这种即时通讯工具来接收告警信息,已经成为一种高效的解决方案。

在这里插入图片描述

本文旨在介绍如何在 Zabbix 中配置钉钉告警。通过该配置,您可以在监控系统出现问题时,第一时间通过钉钉收到告警通知,从而快速采取相应措施,减少因故障带来的损失。

zabbix环境信息

节点IPOS
zabbix-server192.168.72.31Ubuntu 22.04
zabbix-agent01192.168.72.32Ubuntu 22.04

zabbix 版本: v7.0.0

创建钉钉组织

创建钉钉群组要求加入一定数量的成员,在测试环境使用已有钉钉群组不太方便,这里新建一个空的组织来测试钉钉告警。

点击钉钉左上角,选择组织/团队,选择创建或加入企业/团队。
在这里插入图片描述

选择:没有使用立即创建
在这里插入图片描述
补充企业信息
在这里插入图片描述
点击完成
在这里插入图片描述
切换到新组织,进入全员群聊,在群设置中找到机器人
在这里插入图片描述
选择添加机器人
在这里插入图片描述
选择自定义webhook
在这里插入图片描述
填写机器人名字,配置群组和安全设置
在这里插入图片描述
记录webhook地址
在这里插入图片描述
示例地址如下:

https://oapi.dingtalk.com/robot/send?access_token=abd34fc5bf9aa952cd06c4e99b8f9c0f5f95aa70884b46dd2ade66f85d061602

配置zabbix server

连接到zabbix sever节点,创建钉钉告警脚本,只需替换webhook地址参数即可。

root@zabbix-server:~# vim /usr/lib/zabbix/alertscripts/dingding.py
#!/usr/bin/env python3
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=abd34fc5bf9aa952cd06c4e99b8f9c0f5f95aa70884b46dd2ade66f85d061602"
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("/var/log/zabbix/dingding.log"):
    f=open("/var/log/zabbix/dingding.log","a+")
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()

赋予脚本执行权限

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

创建日志文件:

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

安装python 请求模块

apt update -y
apt install -y python3-pip
pip3 install requests

报警测试,要写三个参数并且带关键字"告警"

root@zabbix-server:~# cd /usr/lib/zabbix/alertscripts/
root@zabbix-server:/usr/lib/zabbix/alertscripts# ./dingding.py this is "告警测试,请注意"
root@zabbix-server:/usr/lib/zabbix/alertscripts# 

查看收到的告警信息
在这里插入图片描述

配置zabbix web

创建媒介

在这里插入图片描述
配置脚本参数如下:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

添加动作

创建动作
在这里插入图片描述
触发条件配置如下
在这里插入图片描述

配置操作
在这里插入图片描述
自定义消息内容如下:

Problem: {EVENT.NAME}


-=【告警】=-
告警组:{TRIGGER.HOSTGROUP.NAME}
告警主机:{HOSTNAME1} 
告警主机别名:{HOST.NAME}
主机IP:{HOST.IP}
主机描述:{HOST.DESCRIPTION}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
警报类别:{TRIGGER.NAME}
当前状态:{ITEM.LASTVALUE}
告警平台:http://192.168.72.31/zabbix

说明:告警平台地址为zabbix-server地址。

配置恢复操作
在这里插入图片描述
自定义消息内容如下:

Resolved:{EVENT.NAME}


-=【告警取消啦】=-
恢复主机:{HOSTNAME1}
恢复时间:{EVENT.DATE} {EVENT.TIME}
主机IP:{HOST.IP}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

动作操作配置完成后如下所示
在这里插入图片描述

为用户配置告警媒介,选择用户,admin,切换到告警媒介
在这里插入图片描述

测试报警效果

在zabbix-agent01节点安装stress-ng工具,使用stress-ng进行压测,触发告警负载过高事件

apt install -y stress-ng
stress-ng --cpu 8 --vm 8

等待5分钟,在zabbix-server控制台查看产生的告警事件,并且状态显示已送达。
在这里插入图片描述
或者查看动作日志信息
在这里插入图片描述

在钉钉上查看收到的告警信息及告警恢复信息
在这里插入图片描述

解散钉钉企业

如果需要解散钉钉企业,选择更多,管理后台
在这里插入图片描述
在企业设置中,解散企业即可
在这里插入图片描述

参考:
https://developer.aliyun.com/article/1388509#slide-15
https://blog.csdn.net/2302_78534730/article/details/132709825

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

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

相关文章

苹果AI的国产大模型之争,没有悬念

文 | 智能相对论 作者 | 陈泊丞 苹果终于公布了最新的AI进程。 一个月前,正如此前预期的那样,人工智能是今年 WWDC 发布会的焦点。全程105分钟的主题演讲,就有40多分钟用于介绍苹果的AI成果。 苹果似乎还有意玩了一把“谐音梗”&#xff…

海外虚拟卡开卡平台有哪些?无限开卡,无其他限制

随着时代的发展很多小伙伴都需要海外虚拟卡,海外虚拟卡开卡平台我这里用的是Fomepay的,他们比较人性化,有客服,随时可咨询 对于消费者而言,虚拟卡号提供了隐私,因此广告商更难以跟踪和定位购买行为&#x…

深入浅出:进程管理的艺术

目录 进程的定义 进程的特征 进程的状态 进程与程序的区别 进程的控制和管理 进程的特点 1. 虚拟内存空间的分配 2. 时间片轮转调度 图解: 进程段 数据段(Data Segment) 正文段(Text Segment) 堆栈段&…

Redis持久化详解

【关闭文件、AOF 刷盘、释放内存这三个任务都有各自的任务队列】所以不是单线程 Redis有两种持久化方案: RDB持久化 AOF持久化 基于Redis集群解决单机Redis存在的问题 【Redis是单进程的】 【也有人做分布式section】 【主从集群中多个从就是做负载均衡的】 …

一维信号全变分(TV)降噪方法(MATLAB)

信号降噪一直是领域研究的热点,这是一项十分有意义并且极具挑战性的工作,经过几十年来相关科研人员的共同努力,降噪技术得到了极大的发展,并在现实生活中也得到了广泛的应用。其中,许多常用的方法有:小波变…

vector模拟实现【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间和类类的成员变量 迭代器迭代器获取函数 构造函数默认构造使用n个值构造迭代器区间构造解决迭代器区间构造和用n个值构造的冲突拷贝构造 析构函数swap【交换函数】赋值运算符重载emptysize和capacityopera…

上位机网络通讯

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using System; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 上位机网络通讯 {public partial class Form1 : Form{public Form1(){Initializ…

BUG TypeError: GPT2Model.forward() got an unexpected keyword argument ‘past’

TypeError: GPT2Model.forward() got an unexpected keyword argument past’ 环境 transformers 4.38.1详情 这是由于新版的transformers 对GPT2Model.forward() 参数进行了改变导致的错误。具体是past名称改为了 past_key_values 。 解决方法 找到错误语…

黑马点评-Redis的缓存击穿,缓存雪崩,缓存穿透,互斥锁,逻辑过期

文章目录 1.缓存穿透2.缓存雪崩3.缓存击穿3.1 互斥锁3.2 基于逻辑过期 1.缓存穿透 解决办法 写入NULL值到Redis缓存,以后就会命中Redis的控制缓存而不会出现请求直接打到数据库的问题! 代码 2.缓存雪崩 这个概念很好理解,雪崩就是无数的…

开发者聊科学作息时间表

非常有幸对科学作息时间表app的开发者做一次采访。 问:你对科学作息时间表app满意么? 答:非常不满意,我们的设想是让他更智能,更多的提醒方式,更好的交互体验。如果作为一个闹钟他是非常不合格的&#xff0…

视图库对接系列(GA-T 1400)三、代码生成

项目准备 我们把需要的第三方包和需要生成的库引入到对应的**基础包**中对应版本号 <properties><java.version>1.8</java.version><httpclient.version>4.5</httpclient.version><httpcore.version>4.4.12</httpcore.version><…

tinyshop项目部署

参考软件测试之测试用例设计&#xff08;四&#xff09;_管理后台 测试用例-CSDN博客 1、下载xampp 2、修改apache和mysql的端口分别为4431 &#xff0c;8013和3306 3、访问页面&#xff1a;输入ip:端口号&#xff0c;出现以下页面即成功 4、安装tinyshop商城 将解压的tinys…

Chart.js四个示例

示例代码在图片后面&#xff0c;点赞加关注&#xff0c;谢谢 条形图 雷达图 折线图 圆环图 完整例子代码 具体代码在干什么看粗体加重的注释 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <me…

OceanBase Meetup北京站|跨行业应用场景中的一体化分布式数据库:AI赋能下的探索与实践

随着业务规模的不断扩张和数据处理需求的日益复杂化&#xff0c;传统数据库架构逐渐暴露出业务稳定性波动、扩展性受限、处理效率降低以及运营成本高等一系列问题。众多行业及其业务场景纷纷踏上了数据库现代化升级之路。 为应对这些挑战&#xff0c;7月6日&#xff0c;OceanB…

搭建个人博客及错误记录

搭建个人博客及错误记录 文章目录 搭建个人博客及错误记录需要用到的网址2.推荐两个参考教学视频3.发布一篇博客个人主题配置的提醒localhost拒绝连接问题解决办法ssh -T gitgithub.com失败问题解决Deployer not found:git解决 可以根据目录解决遇到的相同问题 需要用到的网址 …

德国威步的技术演进之路(下):从云端许可管理到硬件加密狗的创新

从单机用户许可证到WkNET网络浮点授权的推出&#xff0c;再到引入使用次数和丰富的时间许可证管理&#xff0c;德国威步产品不断满足市场对灵活性和可扩展性的需求。TCP/IP浮动网络许可证进一步展示了威步技术在网络时代的创新应用。借助于2009年推出的借用许可证以及2015年推出…

如何选择适合自己的笔记本电脑

在现代社会中&#xff0c;笔记本电脑已经成为人们工作、学习和娱乐的重要工具。然而&#xff0c;面对市场上琳琅满目的笔记本电脑产品&#xff0c;如何选择一款适合自己的笔记本电脑呢&#xff1f;本文将为您提供一些有用的建议。 首先&#xff0c;确定您的使用需求。不同的用户…

新手教学系列——慎用Flask-SQLAlchemy慢日志记录

在使用 Flask-SQLAlchemy 开发应用时,了解和避免潜在的问题是非常重要的。特别是在常驻进程和循环执行任务的场景下,慢查询记录功能(SQLALCHEMYRECORDQUERIES)可能会引发严重的内存泄漏问题。本文将详细介绍这个问题,并提供解决方案,帮助你在开发过程中避免掉入这些陷阱。…

为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}(保姆级包括安装QT)超详细记录版

为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}【保姆级包括安装QT】超详细记录版 Chapter1 为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}(保姆级包括安装QT)超详细记录版一. 安装QT程…

深入了解自动化:聊聊什么项目适合做自动化测试?

自动化测试 什么是自动化测 什么是自动化测试&#xff1f; 随着软件产业的不断发展&#xff0c;市场对软件周期的要求越来越高&#xff0c;于是催生了各种开发模式&#xff0c;如大家熟知的敏捷开发&#xff0c;从而对测试提出了更高的要求。此时&#xff0c;产生了自动化测试…