可以create自定义规则来指定监控项的检查时间. 主要有两种方法: 灵活间隔, 允许重新定义默认的update间隔; 以及调度, 可以在特定时间或时间序列执行监控项检查.
灵活间隔允许为特定时间段重新定义默认的update间隔。灵活间隔通过间隔和周期定义,其中:
间隔 - 指定时间段内的update间隔
周期 - 灵活间隔生效的时间段(参见
the time periods for detailed description of the Period format)
如果多个灵活间隔重叠,则重叠期间使用最小的间隔值。 请注意,如果重叠灵活间隔的最小值为'0',则不会进行轮询。 在灵活间隔之外的时间段,将使用默认的update间隔。
请注意,如果灵活间隔等于周期长度,则监控项将恰好检查一次。如果灵活间隔大于周期,则监控项可能检查一次或根本不检查(因此不建议使用此类配置)。如果灵活间隔小于周期,则监控项将至少检查一次。
如果灵活间隔设置为'0',则在灵活间隔周期内不会轮询监控项,并在周期结束后根据默认的更新间隔恢复轮询。示例:
间隔 | 周期 | 描述 |
---|---|---|
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检查。请注意,这曾用作计划检查的变通方法,从Zabbix 3.0开始,建议对此类检查使用调度间隔。 |
调度间隔用于在特定时间检查监控项. 灵活间隔旨在重新定义默认的监控项update间隔, 而调度间隔则用于指定独立的检查计划, 这些计划会并行执行.
调度间隔定义为: md<filter>wd<filter>h<filter>m<filter>s<filter>
其中:
<filter>
用于为其前缀(天、小时、分钟、秒)指定值, 定义为: [<from>[-<to>]][/<step>][,<filter>]
其中:
<from>
和 <to>
定义匹配值的范围(包含边界). 如果省略 <to>
, 则过滤器匹配 <from> - <from>
范围. 如果 <from>
也被省略, 则过滤器匹配所有可能的值.
<step>
定义范围内数值的跳过步长.
default <step>
has the value of 1, which means that all values of the defined range are matched.
<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-31
和 h/02
是有效间隔, 但 md01-031
和 wd01-07
无效.
在Zabbix前端中, 多个调度间隔需分行输入. 在Zabbix API中, 它们会被连接成单个string, 以分号 ;
作为分隔符.
如果一个时间匹配多个间隔, 它只会执行一次. 例如, wd1h9;h9
只会在周一上午9点执行一次.
示例:
间隔 | 执行时间 |
---|---|
m0-59 | 每分钟 |
h9-17/2 | 从9:00开始每2小时(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 |
h9,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 |
h9-12,15m0s30 | 每天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 |
h9m/30;h10 (API-特定语法) | 每天9:00, 9:30, 10:00 |
h9m/30 h10 (在前端中添加为另一行) |
每天9:00, 9:30, 10:00 |
请注意,Zabbix proxies和agent 2在处理调度间隔时使用其本地时区。
因此,当对由Zabbix proxy或agent 2监控的监控项应用调度间隔时,对于2个活跃的监控项,建议将相应proxies或agent 2的时区设置为与Zabbix server相同,否则queue可能会错误地报告监控项延迟。
仅Zabbix agent 2支持主动检查的自定义间隔。如需配置主动检查的自定义间隔,请确保您使用的是Zabbix agent 2。
Zabbix proxy或agent 2的时区可以通过在systemd
单元file中设置环境变量TZ
来配置:
[服务] ... Environment="TZ=Europe/Amsterdam" 环境变量="时区=欧洲/阿姆斯特丹"