2. Пользовательские интервалы
Обзор
Можно создавать пользовательские правила, определяющие время, когда проверяется элемент данных. Для этого существуют два метода: Гибкие интервалы, которые позволяют переопределить интервал обновления по умолчанию, и Планирование, при котором проверка элемента данных может выполняться в определённое время или в последовательности моментов времени.
Гибкие интервалы
Гибкие интервалы позволяют переопределить интервал обновления по умолчанию для определённых периодов времени. Гибкий интервал задаётся с помощью Интервала и Периода, где:
- Интервал – интервал обновления для указанного периода времени. Поддерживаются суффиксы времени, например: 30s, 1m, 2h, 1d.
- Период – период времени, в течение которого активен гибкий интервал (подробное описание формата Периода см. в разделе периоды времени)
Если несколько гибких интервалов перекрываются, для периода перекрытия используется наименьшее значение Интервала. Обратите внимание, что если наименьшее значение перекрывающихся гибких интервалов равно '0', опрос выполняться не будет. Вне гибких интервалов используется интервал обновления по умолчанию.
Обратите внимание, что если гибкий интервал равен длине периода, элемент данных будет проверен ровно один раз. Если гибкий интервал больше периода, элемент данных может быть проверен один раз или не быть проверен вовсе (поэтому такая конфигурация не рекомендуется). Если гибкий интервал меньше периода, элемент данных будет проверен как минимум один раз.
Если для гибкого интервала установлено значение '0', элемент данных не опрашивается в течение периода гибкого интервала и возобновляет опрос в соответствии с Интервалом обновления по умолчанию после окончания периода. Примеры:
| Interval | Period | Description |
|---|---|---|
| 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 каждый день. Обратите внимание, что это использовалось как обходной способ для проверок по расписанию, и для таких проверок рекомендуется использовать интервалы планирования. |
Интервалы планирования
Интервалы планирования используются для проверки элементов данных в определённое время. В то время как гибкие интервалы предназначены для переопределения интервала обновления элемента данных по умолчанию, интервалы планирования используются для указания независимого расписания проверок, которое выполняется параллельно.
Интервал планирования задаётся следующим образом: md<filter>wd<filter>h<filter>m<filter>s<filter>, где:
- md — дни месяца
- wd — дни недели
- h — часы
- m — минуты
- s — секунды
<filter> используется для указания значений для своего префикса (дни, часы, минуты, секунды) и определяется следующим образом: [<from>[-<to>]][/<step>][,<filter>], где:
<from>и<to>определяют диапазон совпадающих значений (включительно). Если<to>опущено, тогда фильтр соответствует диапазону<from> - <from>. Если<from>также опущено, тогда фильтр соответствует всем возможным значениям.<step>определяет шаг пропуска числовых значений в пределах диапазона. По умолчанию<step>имеет значение 1, что означает, что совпадают все значения заданного диапазона.
Хотя определения фильтров являются необязательными, должен использоваться как минимум один фильтр. Фильтр должен содержать либо диапазон, либо заданное значение <step>.
Пустой фильтр соответствует либо '0', если не определён фильтр более низкого уровня, либо всем возможным значениям в противном случае. Например, если фильтр часов опущен, тогда будет соответствовать только час '0', при условии, что фильтры минут и секунд также опущены; в противном случае пустой фильтр часов будет соответствовать всем значениям часов.
Допустимые значения <from> и <to> для соответствующих префиксов фильтра:
| Prefix | Description | <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 они объединяются в одну строку с точкой с запятой ; в качестве разделителя.
Если одному времени соответствуют несколько интервалов, оно выполняется только один раз.
Например, wd1h9;h9 будет выполнен только один раз в понедельник в 9:00.
Примеры:
| Interval | Will be executed |
|---|---|
| m0-59 | каждую минуту |
| h9-17/2 | каждые 2 часа, начиная с 9:00 (9:00, 11:00 ...) |
| m0,30 or m/30 | каждый час в hh:00 и hh: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) | каждый день в 9:00, 9:30, 10:00 |
| h9m/30 h10 (добавьте это как ещё одну строку в веб-интерфейс) |
каждый день в 9:00, 9:30, 10:00 |
Выравнивание часовых поясов для прокси и агента
Обратите внимание, что прокси Zabbix и агент используют свои локальные часовые пояса при обработке интервалов планирования.
По этой причине, когда интервалы планирования применяются к элементам данных, которые мониторятся через прокси Zabbix, или к активным элементам данных агента, рекомендуется установить часовой пояс соответствующих прокси или агента таким же, как у сервера Zabbix, иначе очередь может некорректно сообщать о задержках элементов данных.
Часовой пояс для прокси Zabbix или агента можно задать с помощью переменной окружения TZ в файле юнита systemd:
[Service]
...
Environment="TZ=Europe/Amsterdam"