通过 Event Correlation 减少 Zabbix 告警数量

阿迪拐
• 阅读 5516

简介

使用 Zabbix 的时候我们经常会碰到一个监控项超出阈值,触发多个告警的情况。
例如一台交换机发生 unreachable 故障,会导致所有连接到这台交换机的主机发生 unreachable 告警,结果就是收到无数告警邮件。

幸好,在 Zabbix 3.2 中提供了一个叫做 Event Correlation 的新功能来解决这个问题。

Event Correlation 分为两种

  • 一种是在 Trigger 中配置
  • 一种是在全局配置(Configuration -> Event correlation)

本文主要介绍第二种方式(因为第一种方式我还不知道如何使用

实验描述

我们将创建两个告警,一个在 CPU load 大于 0.2 时产生,一个在大于 0.5 时产生。
需要达到的效果是,在第二个告警产生的时候,第一个告警就会自动关闭。

实验步骤

在主机上创建一个测试用监控项

  • 在 zabbix_agentd.conf 中添加

    UserParameter=mimic.cpu.load,cat /tmp/cpuload.log
  • 在主机上创建对应的监控项 - item
    为了快速看到效果,这里选择 Update interval 为 30

通过 Event Correlation 减少 Zabbix 告警数量

创建触发器 Trigger

  • 一个用来模拟负载过高的告警

    • Expression 中填入 {your-host:mimic.cpu.load.last()}>0.2
    • Tags 项里创建一个名为 CPU 的 Tag
      通过 Event Correlation 减少 Zabbix 告警数量
  • 一个用来模拟系统饱和的告警,这个告警发生的时候,负载过高就应该自动关闭,因为这两者都是关于 CPU load 的告警

    • Expression 中填入{your-host:mimic.cpu.load.last()}>0.5
    • Tags 中创建一个名为 CPU 的 Tag
      通过 Event Correlation 减少 Zabbix 告警数量

同时触发两个告警

接下来我们可以测试一下同时触发两个告警,操作很简单

$ echo 0.61 > /tmp/cpuload.org

会看到面板上同时显示两个告警
通过 Event Correlation 减少 Zabbix 告警数量
之后可以设置一个较小的 CPU load 值,以消除所有告警

$ echo 0.01 > /tmp/cpuload.org

使用 Event Correlation 来消除负载过高的告警

  • 通过菜单项 Configuration -> Event correlation 创建新的 Event correlation rules
  • 在 Condition 中添加

    • Old event tag = CPU
    • New event tag = CPU
    • 在 Type of calculation 中选择 And 作为条件
      通过 Event Correlation 减少 Zabbix 告警数量
  • 在 Operations 标签页中选择 New operation 为 Close old events 并添加
    通过 Event Correlation 减少 Zabbix 告警数量
  • 触发负载过高告警,但不触发系统饱和

    $ echo 0.25 > /tmp/cpuload.log
  • 待面板上看到负载过高的告警以后触发系统饱和

    $ echo 0.99 > /tmp/cpuload.log
  • 观察面板,这个时候面板上只有一个告警
    通过 Event Correlation 减少 Zabbix 告警数量
  • 通过菜单项 Monitoring -> Problems,可以看到之前的负载过高报警被 correlation rule 关闭了
    通过 Event Correlation 减少 Zabbix 告警数量

参考

点赞
收藏
评论区
推荐文章
zabbix5.0安装以及配置中文
zabbix监控服务作用:1.当出现一些突发情况能及时响应。2.及时捕捉证据,追溯相关问题。监控工具的作用:1.及时定位问题无需认为干预,大大减少人力成本2.通过技术角度,实现实时监控业务,当出现问题及时定位并告警到相关管理人员3.记录并以图形化的方式展示出来,方便管理员进行系统运行性能评估4.出现故障,针对某一个性能指标,自动化执行一个指定操作。监控系统
好买-葡萄 好买-葡萄
4年前
窗体底端 有了这个告警系统,DBA提前预警不是难题
好买网www.goodmai.comIT技术交易平台摘要:告警功能是各大云平台必不可少的模块,个性化的告警配置,为帮助用户和运维人员及时发现问题发挥着重要作用。本文分享自华为云社区《GaussDB(DWS)数据库智能监控系统告警框架上线啦!》,作者:codefulture。本文将从一下几个方面介绍DMS告警框架:数据库智能监控系统告警
慧销平台ThreadPoolExecutor内存泄漏分析
京东生旅平台慧销系统,作为平台系统对接了多条业务线,主要进行各个业务线广告,召回等活动相关内容与能力管理。最近根据告警发现内存持续升高,每隔23天会收到内存超过阈值告警,猜测可能存在内存泄漏的情况,然后进行排查。根据24小时时间段内存监控可以发现,容器的内存在持续上升:
Stella981 Stella981
4年前
CODING DevOps 系列第六课:IT 运维之智能化告警实践
IT运维告警现状目前IT运维领域保证服务运行正常的主要方法是对相关运维指标进行实时监控,并根据经验设定一些规则,通过将实时监控的数据与规则进行对比,当某个指标监控值不符合设定的规则时,则判定为异常的状况,这样的话就会发送对应的告警到告警平台。告警平台收到通知后,会分配给对应的运维人员进行处理,运维人员去根据告警信息来排查,最终定
Stella981 Stella981
4年前
Prometheus 整合 AlertManager
简介Alertmanager主要用于接收Prometheus发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。它支持丰富的告警通知渠道,可以将告警信息转发到邮箱、企业微信、钉钉等。这一节讲解利用AlertManager,把接受到的告警信息,转发到邮箱。实验准备启动http
人间小土豆 人间小土豆
4年前
请问日志审计什么意思呢?
这里的“日志”和我们日常生活中的理解大有不同。什么是日志?简单的说,日志就是计算机系统、设备、软件等在某种情况下记录的信息。具体内容取决于日志的来源。例如:unix操作系统会记录用户登录和注销等信息的日志防火墙会记录访问控制协议acl通过和拒绝等消息的日志有些系统在用户登录时或者在系统本身认为会发生一些故障时发出带有告警信息的日志有些产品会在本身存储不足时发
Stella981 Stella981
4年前
Prometheus监控告警浅析
前言最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。监控架构Prometheus的整个
从缺陷到创新:质量保障的新视角
1.背景:最近一段时间研发大佬们在积极的治理告警,经过一段时间的治理,现在告警情况已经有了很大的改观,但难免还有漏网之鱼;具体我们可以以下边一个例子来看:这是一个生产的UMP告警,通过这个告警我们发现XXX这个应用的堆内存使用率为90.18%,超过了设置的
真·Redis缓存优化—97%的优化率你见过嘛? | 京东云技术团队
本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路。一、问题排查1.1邮件告警正值618值班前夕,某天收到了
API 小达人 API 小达人
2年前
实用干货丨Eolink Apikit 配置和告警规则的各种用法
API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍EolinkApikit中使用的告警规则,帮助开发者和运维人员更好地监控和管理API。
云监控告警2.0:革新传统告警机制,引领智能化监控新时代
云监控告警机制是云监控体系的核心组成部分,它负责在云服务出现异常或故障时,及时发出告警通知,以便运维人员迅速采取措施解决问题。传统的云监控告警机制虽然能够在一定程度上实现告警功能,但在告警准确性、实时性、智能化等方面存在诸多不足。云监控告警2.0则通过引入先进的技术和算法,对传统告警机制进行了全面升级,大大提高了告警的效率和准确性。