一、实际业务场景

一、实际业务场景
业务问题
最近在监控 ActiveMQ 的阻塞消息时,发现每天0点都有预警,然后进行排查,0 点确实是有阻塞消息,这个阻塞消息的存在,是因为 0点系统进行结算,会产生大量的消息,并且有一些结算任务,导致消息会有阻塞。但是这个阻塞是正常的,我不想进行预警,那么有以下方法可以禁止这个预警:

设置监控时间

就是在某个时间段不去获取该监控项的数据,这个方法好像是可以,但是隐隐感觉有些不妥。

设置触发器时间(推荐方法)

就是监控的数据我获取,但是在某个时间段该触发器无效。这个好像还不错。

设置用户报警媒介启用时间

就是设置该用户在某个时间段可以收到报警,某个时间段不接受报警。这个设置得背锅哦。

解决办法

经过上面的对比,我觉得还是 设置触发器时间比较适合该需求。所以我们设置触发器监控时间。设置为 0 点0分到 0点 10分,该监控项不预警。

zabbix 时间差 zabbix 自定义时间间隔_zabbix 时间差


使用到触发器设置范围,也觉得该对 zabbix 设置时间范围配置做个总的记录。

二、Zabbix触发器和监控项与用户预警设置时间范围配置流程

一、触发器设置时间范围

触发器设置时间范围需要将触发器条件和 触发器时间范围相结合,比如我们有一个需求,就是我们需要在 时间点 1点到 23点,检查agent 是否活跃,当在这个时间段如果 agent 不活跃的话就进行预警。

首先我们需要创建一个触发器,选择监控项为 agent.ping,创建当 agent.ping=0时候的表达式。

zabbix 时间差 zabbix 自定义时间间隔_时间段_02


然后我们选择表达式构建构造器。选择上面一样的监控项,功能选择 time() 当前时间 设置时间范围,注意时间范围的格式是 :HHMMSS,也就是6位数字。

zabbix 时间差 zabbix 自定义时间间隔_触发器_03


这样就ok了。

zabbix 时间差 zabbix 自定义时间间隔_zabbix 时间差_04

二、监控项设置时间范围

在创建监控项里面的,自定义时间间隔,可以设置监控范围。

示例: 我想在星期一到星期五,全天监控,间隔是 30s, 周六到 周日,全天监控,间隔是 60s.

间隔 周期
30 1-5,00:00-24:00
60 6-7,00:00-24:00
示例2:我想周一到周日全天监控,间隔30s,但是在每天的 0点到 0点10不监控。

间隔 周期
30 1-7,00:10-24:00
0 6-7,00:00-00:10
如果灵活间隔设置为“0”,则在灵活间隔期间不轮询监控项,并在周期结束后根据默认更新间隔恢复轮询。

详细监控项自定义间隔见 官方文档

三、用户报警设置启用时间

该设置在用户基本资料的报警媒介里面。

zabbix 时间差 zabbix 自定义时间间隔_数据_05

扩展

Zabbix触发器的告警原理及创建方法

概述:

触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下:

:.()}
{主机:key.函数(参数)}<表达式>常数

Functions函数:触发器functions可以引用检索到的值,当前时间或者其他元素。触发器表达式支持的function完整列表请点击官网地址 supported functions。

Function参数----大多数数值functions可以使用秒来作为参数。你可以使用前缀“#”来表示它有不同的含义。

zabbix 时间差 zabbix 自定义时间间隔_时间段_06


last函数使用不同的参数将会得到不同的值,#2表示倒数第二新的数据。例入从老到最新值为1,2,3,4,5,6,7,8,9,10,last(#2)得到的值为9,last(#9)得到的值为2。last函数必须包含参数。

AVG,count,last,min和max函数还支持额外的参数,以秒为单位的参数time_shift(时间偏移量)。例如avg(1h,1d),那么将会获取到昨天的1小时内的平均数据。

[warning]备注:触发器表达式需要使用history历史数据来计算,如果history不可用(time_shift时间偏移量参数无法使用),因此history记录一定要保留长久一点,至少要保留需要用的记录。[/warning]

触发器表达式可以使用单位符号来替代大数字,例如5m替代300,或者1d替代86400,1k替代1024字节等等。

操作符:

zabbix 时间差 zabbix 自定义时间间隔_数据_07

zabbix创建触发器trigger

1. 创建触发器

了解了什么触发器,接下来看下zabbix触发器怎么创建和配置,方法很简单,请大家往下读。
2、创建触发器步骤:

点击Configuration(配置) → Hosts(主机)

点击hosts(主机)相关行的trigger

点击右上角的创建触发器(create trigger),你也可以修改列表中的触发器

在表单中输入相应的信息

zabbix 时间差 zabbix 自定义时间间隔_数据_08

3、zabbix触发器配置

参数介绍

zabbix 时间差 zabbix 自定义时间间隔_数据_09

参考链接 :

Zabbix触发器的告警原理及创建方法 : https://www.jianshu.com/p/cb7e52108463

Zabbix触发器和监控项设置时间范围 :https://github.com/tobewithyou1996/LinuxGuide/blob/master/Zabbix/Zabbix%E8%A7%A6%E5%8F%91%E5%99%A8%E5%92%8C%E7%9B%91%E6%8E%A7%E9%A1%B9%E8%AE%BE%E7%BD%AE%E6%97%B6%E9%97%B4%E8%8C%83%E5%9B%B4.md