可以create自定义规则来指定监控项的检查时间。 实现这一功能的两种方法是:灵活间隔(允许重新定义默认的update间隔)和调度(可在特定时间或时间序列执行监控项检查)。
灵活间隔允许为特定时间段重新定义默认的update间隔。 灵活间隔通过间隔和周期定义,其中:
如果多个灵活间隔重叠,则重叠期间使用最小的间隔值。 请注意,如果重叠灵活间隔的最小值为'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检查监控项。注意这曾被用作计划检查的变通方案,建议对此类检查使用调度间隔。 |
调度间隔用于在特定时间检查监控项. 灵活间隔旨在重新定义默认的监控项update间隔,而调度间隔则用于指定独立的检查计划,这些计划会并行执行.
调度间隔定义为:md<filter>wd<filter>h<filter>m<filter>s<filter>,其中:
<filter>用于为其前缀(天、小时、分钟、秒)指定值,定义为:[<from>[-<to>]][/<step>][,<filter>],其中:
<from>和<to>定义匹配值的范围(包含). 如果省略<to>,则过滤器匹配<from> - <from>范围. 如果也省略<from>,则过滤器匹配所有可能的值.<step>定义范围内数值的跳过步长. 默认<step>值为1,表示匹配定义范围内的所有值.虽然过滤器定义是可选的,但必须至少使用一个过滤器. 过滤器必须定义范围或<步长>值.
空过滤器在没有定义低级过滤器时匹配'0',否则匹配所有可能的值. 例如,如果省略小时过滤器,则仅匹配'0'小时(前提是分钟和秒过滤器也被省略),否则空小时过滤器将匹配所有小时值.
各过滤器前缀的有效<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前端中,多个调度间隔需分行输入. 在ZabbixAPI中,它们会被连接成单个string,以分号;作为分隔符.
如果一个时间匹配多个间隔,则只执行一次. 例如,wd1h9;h9只会在周一上午9点执行一次.
示例:
| 间隔 | 执行时间 |
|---|---|
| m0-59 | 每分钟 |
| h9-17/2 | 从9:00开始每2小时(9:00,11:00...) |
| m0,30 or m/30 | 每小时整点和半点 |
| m0,5,10,15,20,25,30,35,40,45,50,55 or m/5 | 每五分钟 |
| wd1-5h9 | 每周一至周五9:00 |
| wd1-5h9-18 | 每周一至周五9:00,10:00,...,18:00 |
| h9,10,11 or 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-specific syntax) | 每天9:00,9:30,10:00 |
| h9m/30 h10 (add this as another row in frontend) |
每天9:00,9:30,10:00 |
请注意,Zabbix proxies和agent在处理调度间隔时会使用其本地时区。
因此,当对由Zabbix proxy或agent主动监控项监控的监控项应用调度间隔时,建议将相应proxies或agent的时区设置为与Zabbix server相同,否则queue可能会错误地报告监控项延迟。
Zabbix proxy或agent的时区可通过在systemd单元file中设置环境变量TZ来实现:
[Service]
...
Environment="TZ=Europe/Amsterdam"