执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

通过Zabbix监控业务数据(续)

时间: 2017-04-20   |   分类: 运维     |   阅读: 734 字 ~2分钟   |   访问: 0

昨天配置好报警条件之后,今天早上检查发现昨天晚上发出了报警。但是看上去像是误报。 在凌晨2:44:02触发了警报,然后在2:44:32警报解除,持续时间30秒。如下两图:

从感觉上像是误报。

1. 误报排除

1.1 报警条件

昨天设置好的报警条件如下:

  1. CODE_ALL、CODE_100在最近30秒钟有数据;
  2. 最近300秒(5分钟)CODE_ALL总计大于30;
  3. CODE_100/CODE_ALL<0.7

1.2 收到的数据

要确定报警是否正确,就需要查看当时收到的数据情况。所以从Zabbix的最新数据(Latest Data)中查看最近收到的数据。找到的数据如下: 首先是ERROR_CODE_100的数据:

然后看ERROR_CODE_ALL的数据:

1.3 疑问

按照之前的条件来说,表达式处理的数据应该是从2:40到2:44这5分钟的数据,也就是(2+3+6+4+6)/(2+5+7+5+7)=80%,明显不符合要求啊,怎么会报警呢?

但是仔细一看,原来是这样啊!在这5分钟之前CODE_ALL收到的最后一条数据时间是2:39:02,按照300秒的时间跨度,这一条记录也是符合表达式要求的。所以实际上进行运算的表达式变成了:(2+3+6+4+6)/(2+5+7+5+7+6)=65.6%。这样确实就触发了警报。

1.4 解决

使用300秒这种时间跨度会出现多使用一条数据的情况,这是一开始没有想到的,对Zabbix的运作机制了解的不够透彻。对于这种时效性要求比较强的报警条件,使用Zabbix还是要比较仔细考虑逻辑是否有漏洞的。 想了想,既然时间跨度不好掌握,可以限制为使用收到的记录条数进行限制。所以最后改成的条件如下,这几天再关注一下是否工作符合预期:

2. 三种模式的示意图

Zabbix Item的类型比较多,理解起来可能有些绕。所以特意画张图,应该会有助于理解的更清楚。

#Zabbix#
Java SSL握手记录分析
通过Zabbix监控业务数据
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 1. 误报排除
    • 1.1 报警条件
    • 1.2 收到的数据
    • 1.3 疑问
    • 1.4 解决
  • 2. 三种模式的示意图
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%