Пользовательские интервалы

Обзор

Можно создавать пользовательские правила, определяющие время проверки элемента данных. Для этого предусмотрены два метода: гибкие интервалы, позволяющие переопределить интервал обновления по умолчанию, и планирование, при котором проверка элемента данных может выполняться в определенное время или в заданной последовательности.

Гибкие интервалы

Гибкие интервалы позволяют переопределить интервал обновления по умолчанию для определенных периодов времени.

Гибкий интервал задается с помощью параметров Interval и Period, где:

  • Interval - интервал обновления для указанного периода времени. Поддерживаются суффиксы времени, например: 30s, 1m, 2h, 1d.
  • Period - период времени, в течение которого активен гибкий интервал (подробное описание формата Period см. в разделе периоды времени).

Если несколько гибких интервалов перекрываются, для перекрывающегося периода используется наименьшее значение Interval. Обратите внимание: если наименьшее значение среди перекрывающихся гибких интервалов равно «0», опрос выполняться не будет. За пределами гибких интервалов используется интервал обновления по умолчанию.

Обратите внимание: если гибкий интервал равен продолжительности периода, элемент данных будет проверен ровно один раз. Если гибкий интервал больше периода, элемент данных может быть проверен один раз или не проверен вообще (поэтому такая конфигурация не рекомендуется). Если гибкий интервал меньше периода, элемент данных будет проверен как минимум один раз.

Если для гибкого интервала задано значение «0», опрос элемента данных в течение этого периода выполняться не будет. После его завершения опрос возобновится в соответствии с параметром Update interval по умолчанию. Примеры:

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<фильтр>wd<фильтр>h<фильтр>m<фильтр>s<фильтр> где:

  • md — дни месяца
  • wd — дни недели
  • h — часы
  • m — минуты
  • s — секунды

<фильтр> используется для того, чтобы указать значения по своему префиксу (дни, часы, минуты, секунды) и задается как: [<от>[-<до>]][/<шаг>][,<фильтр>] где:

  • <от> и <до> определяют диапазон соответствующих значений (включительно). Если <до> не указывается, тогда фильтр совпадает с диапазоном <от> — <от>. Если <от> также не указан, тогда фильтр совпадает со всеми возможными значениями.
  • <шаг> определяет пропуски количества значений через диапазон. По умолчанию значение <шаг> равно 1, что означает, что все значения указанного диапазона совпадают.

Хотя добавление фильтра опционально, по крайней мере один фильтр должен использоваться. Фильтр должен определять либо диапазон, либо значение <шага>.

Пустой фильтр соответствует либо «0», если фильтр более низкого уровня не определён, либо, в противном случае, всем возможным значениям. Например, если фильтр часа опущен, то будет соответствовать только «0» в случае, если фильтры минут и секунд также опущены; в противном случае пустой фильтр часа будет соответствовать всем значениям часа.

Допустимые значения <от> и <до> по их соответствующему префиксу фильтра:

Префикс Описание <от> <до>
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

Значение <от> должно быть меньше или равно значению <до>. Значение <шага> должно быть больше или равно 1 и меньше или равно <до> - <от>.

К однозначным цифрам значений дней месяца, часов, минут и секунд можно добавлять префикс 0. Например, md01-31 и h/02 являются допустимыми интервалами, но md01-031 и wd01-07 — нет.

В веб-интерфейсе Zabbix несколько интервалов по расписанию вводятся в отдельных строках. В Zabbix API они складываются в одну строку с разделителем в виде точки с запятой (;).

Если время совпадает по нескольким интервалам, опрос выполнится только раз. Например, wd1h9;h9 в понедельник в 9 утра выполнится только один раз.

Примеры:

Интервал Когда выполняется
m0-59 каждую минуту
h9-17/2 каждые 2 часа, начиная с 9:00 (9:00, 11:00 ...)
m0,30 или m/30 каждый час в чч:00 и чч: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 каждое первое число каждого месяца в 9:30
md1wd1h9m30 каждое первое число каждого месяца в 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 прокси или агента можно настроить при помощи переменной окружения TZ в файле юнита systemd:

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