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

Обзор

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

Переменные интервалы

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

  • Интервал — интервал обновления в указанный период времени
  • Период — период времени, когда гибкий интервал активен (смотрите периоды времени для подробного описания формата Период)

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

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

Если переменный интервал задан равным «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, рекомендуется для таких проверок использовать интервалы по расписанию.

Интервалы по расписанию

Интервалы по расписанию используются для опроса элементов данных в заданное время. Тогда как переменные интервалы разрабатывались для переопределения интервала обновления элементов данных по умолчанию, интервалы по расписанию используются для обозначения независимого расписания опроса, которое выполняется параллельно.

Интервал по расписанию задается как: 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
Выравнивание часовых поясов для прокси и агента 2

Обратите внимание, что Zabbix прокси и агент 2, когда обрабатывают интервалы по расписанию, используют свои местные часовые пояса.

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

Часовой пояс для Zabbix прокси или агента 2 можно настроить при помощи переменной окружения TZ в файле юнита systemd:

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