zabbix事件告警监控:如何实现对相同部件触发器告警及恢复的强关联

有一定Zabbix使用经验的小伙伴可能会发现,接收告警事件时,其中可能包含着大量不同的部件名,同一部件的事件在逻辑上具有很强关联性,理论上应保持一致的告警/恢复状态,但Zabbix默认并未对它们进行关联,直接后果是运维人员只能进行大量重复操作,进而对部件的状态进行校正。

实际上,虽然Zabbix默认未对相同部件进行关联,但却可以通过手动配置实现关联操作。本文将深入探讨Zabbix在处理相同部件触发器的告警和恢复过程中的强关联机制。通过这种机制,我们可以确保一旦触发器状态发生变化,相关的告警能够被准确触发,并且在问题解决后,告警状态能够及时恢复,从而避免无效告警的干扰和资源的浪费。

例如,当前监控中有对硬件设备事件采集监控项(数据如下),要对其配置触发器告警,但是每个事件中包含告警对应的部件名,希望对相同部件的告警实现告警-恢复事件的自动关联。在这里插入图片描述
数据字段解析:

监控取值中,第4位为告警状态,"Assertion"表示告警产生,"Deassertion"表示告警恢复。

配置思路:
方法一(建议):
参考方法二中基础配置,额外补充事件匹配-标签
在这里插入图片描述
标记中“值“参数支持写法如下

{{ITEM.VALUE}.regsub(pattern, output)}

{{ITEM.VALUE}.iregsub(pattern, output)}

{{#LLDMACRO}.regsub(pattern, output)}

{{#LLDMACRO}.iregsub(pattern, output)}

图中示例写法:

{{ITEM.VALUE}.regsub(“tion”,\s*“\s*(\S+)\s*(”,\1)}

测试数据如下:
在这里插入图片描述
测试结果:在这里插入图片描述
从结果中可以看到,部件名称被正则截取到标记中。

同时,只有DIMM110 是既存在”Assertion”记录,又存在”Deassertion”记录的,所以只有DIMM110部件的告警是恢复了的。

优点:

1.配置简单,仅配置一条即可

2.告警事件不遗漏,多个部件告警信息,则产生多个告警事件

3.可以实现单个部件的告警、恢复记录的关联,不会因为其他此部件的恢复记录,触发其他部件告警的恢复操作

缺点:

1.配置逻辑较复杂,涉及标记、正则、内置宏等多方面

方法二:
配置单个触发器,如下图2

①将告警最新值带进告警标题中,区分具体告警部件等信息。

②检测到关键字"Assertion"则告警

③检测到关键字"Deassertion"则恢复

④问题事件生成模式:多重:触发器未恢复的情况下可以多次产生告警;单个:多次规则匹配,如果已经产生的告警为恢复的情况下,不会重新产生新告警。效果如下图3

在这里插入图片描述
在这里插入图片描述
优点:

  1. 配置简单,仅配置一条即可

  2. 告警事件不遗漏,多个部件告警信息,则产生多个告警事件

缺点:

1.一个部件告警恢复,则其他部件告警一并恢复,如图4 —— 仅DIMM131部件恢复,其他部件的告警也被恢复了,其实并没有在这里插入图片描述

方法三:
对每个部件添加一个触发器(如下图5):

DIMM110部件告警触发器:

触发表达式:监控值包含DIMM110 且 包含关键字 “Assertion”;

恢复表达式:监控值包含DIMM110 且 包含关键字 “Deassertion”;

反复操作,添加DIMM111、DIMM120、DIMM121等多个触发器。

在这里插入图片描述
图5

优点:

1.可以实现单个部件的告警、恢复记录的关联,不会因为其他此部件的恢复记录,触发其他部件告警的恢复操作

缺点:

1.配置工作量巨大,每个部件都需要定义一个对应触发器

2.可能会丢失、遗漏告警,因为可能部件关键字未加入触发器中

结论:
上述三种方法可以看出,逻辑上方法二、方法三更加简单明了,但是皆有不满足场景需求的情况;方法一则更贴合场景需求,且善用触发器的标记功能,也更利于监控平台的维护管理。参考该第一方法,可延伸较多场景,如日志事件告警恢复ID关联、snmptrap端口up\down数据告警关联、硬件事件相同部件名告警恢复关联、远程登入登出记录关联等。

以上就是这一期Zabbix技术分享。大家好,我是乐乐,专注运维技术研究与分享,关注我学习更多Zabbix使用技巧,更多问题也欢迎到乐维社区进行留言。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC降重:如何2分钟降低论文AI率和查重率?推荐使用SpeedAI科研小助手

确保学术论文的独立性与诚信性,对于学业的成就及学位的获取至关重要,其中,论文的人工智能查重与降低AIGC相似度扮演着核心角色。 常规的查重手段主要围绕查重软件的运用和个体的自行审查;而降重则通常通过语句重组、同义替换、内…

单细胞分析(Signac): PBMC scATAC-seq 基因组区域可视化

引言 在本教学指南中,我们将探讨由10x Genomics公司提供的人类外周血单核细胞(PBMCs)的单细胞ATAC-seq数据集。 加载包 首先加载 Signac、Seurat 和我们将用于分析人类数据的其他一些包。 if (!requireNamespace("EnsDb.Hsapiens.v75&qu…

ModuleNotFoundError: No module named ‘osgeo‘

显示无osgeo模块 pip install osgeo显示失败 方法: 确保你已经安装了正确的依赖项,例如GDAL、GEOS和PROJ等。 方法1:pip install gdal 失败 方法2:官网下载失败,下载地址:https://www.lfd.uci.edu/~gohl…

在Linux系统中,使用OpenSSL生成私有证书文件,并提取私钥的步骤如下:

在Linux系统中,使用OpenSSL生成私有证书文件,并提取私钥的步骤如下: 生成私钥(如果还没有私钥的话): openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048 生成自签名证书&…

设置自动刷新数据透视表的数据源

数据透视表数据源的自动刷新 一般情况操作: 自动刷新操作: 1、定义名称名称 引用位置:OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1)) 2、数据透视表的数据源更改为【源数据】—— 即前面定义的名称 3、数据——全部…

Java多线程——观测线程状态

线程可以处于以下几个状态: NEW:尚未启动的线程处于此状态; RUNNABLE:在Java虚拟机中执行的线程处于此状态; BLOCKED:被阻塞等待监视器锁定的线程处于此状态; WAITING:正在等待…

区块链技术和应用二

前言 学习长安链的一些基本原理 官网:长安链开源文档 b站课程:区块链基础与应用 一、共识算法 1.1 POW工作量证明 最长链共识,没听明白 1.2 51%攻击 二、区块链的发展 2.1 区块链1.0到3.0 2.2 共有链、联盟链、私有链 2.3 发展趋势 2.4 扩…

CUDA_VISIBLE_DEVICES‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题: 命令行出现CUDA_VISIBLE_DEVICES0 python trainer.py这种命令 这是Linux可以的,但是Windows不行。 解决方案: 这条命令的含义是指定某个GPU来运行程序,我们可以在程序开头添加指定GPU的代码,效果是一样的&…

HackTheBox-Machines--Lazy

Lazy测试过程 1 信息收集 1.端口扫描 发现 SSH(22)、HTTP(80)端口 nmap -sC -sV 10.129.159.512.访问 80 端口 1.页面中存在注册功能,测试注册功能 页面返回登录页面及用户名 使用burpsuite观察注册请求 /register.p…

Facebook:连接世界,畅游社交之旅

作为全球最大的社交平台之一,Facebook不仅仅是一个网站,更是一个连接世界的桥梁,让人们可以轻松地与全球各地的朋友、家人和同事保持联系,分享生活、交流想法,畅游社交的无边界之旅。本文将带领读者探索Facebook的魅力…

电子商务网站(网上商店PetShop)

PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。PetShop随着版本的不断更新,至现在基于.Net2.0的PetShop 4.0为止,整个设计逐渐变得成熟而优雅,有很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码…

鸿蒙OS开发:【一次开发,多端部署】(分栏控件)

一多分栏控件 介绍 本示例分别展示了多场景下,一多分栏控件的响应式变化效果。 本示例分别用到了[SideBarContainer]组件与[Navigation]组件,对应使用场景如下: ABC:即SideBarContainer组件组合Navigation组件AC:S…

Python开发 —— 文件读写操作open与with open

在 Python 中,文件读写操作是非常常见的任务。本文是一些关键操作和代码示例,包括如何使用 open、with open、read 和 write 函数进行文件操作。 1. 打开文件 (open) 使用 open 函数打开文件。在 Python 中,打开文件是进行文件操作的第一步。…

继承与多态2

2.5(杨.丹尼尔梁英文第11版P537:*13.12)(几何对象的面积求和)写一个方法,将数组中所有几何对象的面积求和。 方法签名是: 公共静态双求和区域(几何对象【】a) 编写一个测试程序&…

高速数据传输新纪元?ADT-Link领先推出USB4转PCIe 4.0桥接板

在科技飞速发展的今天,数据传输速度一直是推动行业进步的关键驱动力。最近,备受瞩目的硬件制造商ADT-Link宣布推出一款引领潮流的新产品——USB4转PCIe 4.0桥接板,这一创新设备势必会显著提升数据传输效率,为用户带来前所未有的高…

NI PXIe-7857R与PXIe-8842的区别

一、NI PXIe-7857R 类型: FPGA模块:基于FPGA的可编程I/O模块。 主要功能: FPGA处理:包含Xilinx Kintex-7 FPGA,支持自定义逻辑和处理。 I/O接口:提供丰富的模拟和数字I/O通道。 高速数据处理&#xff1a…

软件测试新手要达到一个什么水平才能找到一份9K的工作?

我的读者里有很多 软测 新人,新人是指正在学 测试 的、以及工作时间不长的年轻人,他们经常问我一个问题: 自学到什么程度才能找到一份还不错的测试工作? 今天我就从我自己面试新人的角度来回答一下,我会把面试的知识点…

查询指定会话免打扰

查询指定用户(requestId) 为指定会话(targetId)的设置的免打扰状态。 提示 该设置为用户级别设置。对应的设置接口详见设置指定会话免打扰。 请求方法 POST: https://数据中心域名/conversation/notification/get.json 频率限…

AVFrame结构体分析

AVFrame是FFmpeg中的一个核心数据结构,用于表示音频或视频的帧。它包含了一系列用于描述帧数据和元数据的字段。以下是对AVFrame结构体的详细分析,包括其主要字段及其作用。 AVFrame的定义 在FFmpeg的源代码中,AVFrame的定义可以在avframe.…

Nginx网页服务

nginx的配置: 1、全局块:全局配置,对全局生效; 2、events块:配置影响 Nginx 服务器与用户的网络连接; 3、http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置&#xf…