2 自定义间隔

概述

可以针对create设置自定义规则,以确定何时触发监控项。 被选中。实现该目标的两种方法是灵活间隔(Flexible intervals),即 允许重新定义默认的 update 间隔,以及调度,通过以下方式: 监控项 检查可以在特定时间或一系列时间点执行。

弹性间隔

灵活间隔允许为特定时间段重新定义默认的 update 间隔。灵活间隔由 间隔(Interval)周期(Period) 定义,其中:

  • 间隔(Interval) – 在指定时间段内的 update 间隔
  • 周期(Period) – 灵活间隔生效的时间段(有关 周期(Period) 格式的详细描述,请参见 time periods

如果多个灵活间隔存在重叠,则在重叠期间使用最小的 间隔(Interval) 值。请注意,如果重叠灵活间隔的最小值为 '0',则不会进行轮询。在灵活间隔之外的时间段,使用默认的 update 间隔。

请注意,如果灵活间隔等于周期长度,则 监控项 将恰好被检查一次。如果灵活间隔大于周期,则 监控项 可能被检查一次,也可能完全不被检查(因此不建议此类配置)。如果灵活间隔小于周期,则 监控项 至少会被检查一次。

如果灵活间隔设置为 '0',则在灵活间隔期间不会轮询 监控项,周期结束后将根据默认的 更新间隔(Update interval) 恢复轮询。示例如下:

间隔(Interval) 周期(Period) 描述
10 1-5,09:00-18:00 在工作时间内,监控项 将每 10 秒检查一次。
0 1-7,00:00-7:00 在夜间期间,不会检查 监控项。
0 7-7,00:00-24:00 在周日不会检查 监控项。
60 1-7,12:00-12:01 每天在 12:00 检查 监控项。请注意,这曾被用作计划检查的变通方法,建议使用调度间隔来执行此类检查。

调度间隔

调度间隔用于在特定时间检查 监控项。而 灵活的时间间隔用于重新定义默认的 监控项 update 间隔,调度间隔用于指定一个独立的 并行执行的检查计划。

调度间隔定义为: md<filter>wd<filter>h<filter>m<filter>s<filter> 其中:

  • 月日 - 指定月份中的具体日期。
  • wd - 工作日
  • h - 小时
  • m - 分钟
  • s – 秒

<filter> 用于指定其前缀的值(天、小时、 分钟、秒),其定义如下: [<from>[-<to>]][/<step>][,<filter>] 其中:

  • <from><to> 定义匹配值的范围(包含在内)。 如果省略 <to>,则过滤器将匹配一个 <from> - <from> 范围。如果也省略 <from>,则过滤器匹配所有 可能的值。
  • <step> 定义了数值在范围内跳过的间隔。通过 默认值 <step> 的值为 1,这意味着所有值的 定义的范围已匹配。

虽然过滤器定义是可选的,但至少必须定义一个过滤器。 使用。过滤器必须具有范围或<step>值 定义。

若未定义低级筛选器,空筛选器将匹配'0' 或者所有其他可能的值。例如,如果小时过滤器是 如果省略,则只有 '0' 小时会匹配,前提是分钟和秒数相符。 过滤器也会被省略,否则空的小时过滤器将匹配所有情况。 小时值。

有效的 <from><to> 值及其对应的过滤器前缀如下:

前缀 描述 <from> <to>
md 月份中的日期 1-31 1-31
wd 星期几 1-7 1-7
h 小时 0-23 0-23
m 分钟 0-59 0-59
s 0-59 0-59

“<from>”的值必须小于或等于“<to>”的值。<step> 值必须大于等于 1 且小于等于 <to> - <from>

单个数字的月份、日期、小时、分钟和秒值可以是 以 0 开头。例如 md01-31h/02 是有效的间隔, 但 md01-031wd01-07 并不是。

在Zabbix前端中,多个调度间隔的输入方式如下: 单独的行。在 Zabbix API 中,它们被合并为一个单独的 string 使用分号 ; 作为分隔符。

如果一个时间被多个时间间隔匹配,则仅执行一次。 示例,wd1h9;h9 将仅在周一上午9点执行一次。

示例:

间隔 将执行
m0-59 每分钟
h9-17/2 每隔 2 小时执行一次,从 9:00 开始(9:00,11:00 ...)
m0,30 或 m/30 每小时在 hh:00 和 hh:30 时执行
m0,5,10,15,20,25,30,35,40,45,50,55 或 m/5 每五分钟
wd1-5h9 每周一至周五的 9:00
wd1-5h9-18 每周一至周五 9:00、10:00、...、18:00
每小时9分,10,11 或 h9-11 每天 9:00、10:00 和 11:00
md1h9m30 每月第1天的 9:30
md1wd1h9m30 每月第1天 9:30 执行,如果该天为星期一
h9m/30 每天 9:00 时,9:30
h9m0-59/30 每天在 9:00, 9:30
h9,10m/30 每天在 9:00, 9:30, 10:00, 10:30
h9-10m30 每天在 9:30、10:30
h9m10-40/30 每天在 9:10、9:40
h9,10m10-40/30 每天在 9:10、9:40、10:10、10:40 时
每天的 h9-10m10-40/30 9:10、9:40、10:10、10:40
h9m10-40 每天在 9:10、9:11、9:12、... 9:40 时
h9m10-40/1 每天于 9:10、9:11、9:12、... 9:40
h9-12,15 每天在 9:00,10:00,11:00,12:00,15:00
h9-12,15m0 每天 9:00、10:00、11:00、12:00 和 15:00
每天的 12 点 15 分 0 秒至 30 秒 在每天的 9:00:30、10:00:30、11:00:30、12:00:30、15:00:30 时执行
h9-12s30 每天在 9:00:30、9:01:30、9:02:30 ... 12:58:30、12:59:30
每小时30;h10(API特定语法 每天在 9:00, 9:30, 10:00
h9m/30
h10 (在前端中将其添加为另一行)
每天 9:00、9:30、10:00
对齐 proxies 和 agent 的时区

请注意,Zabbix proxies和agent在处理调度间隔时会使用其本地时区。

因此,当对由Zabbix proxy或agent主动监控项监控的监控项应用调度间隔时,建议将相应proxies 或 agent的时区设置为与Zabbix server相同,否则queue可能会错误地报告监控项延迟。

可以通过在systemd单元file中使用环境变量TZ来设置Zabbix proxy或agent的时区:

[Service]
       ...
       Environment="TZ=Europe/Amsterdam"