Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

3 Триггеры

Обзор

Триггеры это логические выражения, которые "оценивают" данные собранные элементами данных и отражают текущее состояние системы.

Тогда как элементы данных используются для сбора системных данных, крайне непрактично наблюдать за этими данными всё время в ожидании выполнения условия, которое приведет к оповещению или которое заслуживает внимания. Работа по "оценке" данных может быть оставлена на выражения триггеров.

Выражения триггеров позволяют задать порог при котором состояние данных "приемлемое". Таким образом, если входящие данные превышают приемлемое состояние, триггер "поджигается" - или другими словами меняет состояние на ПРОБЛЕМА.

Триггер может принимать следующие состояния:

ЗНАЧЕНИЕ ОПИСАНИЕ
ОК Нормальное состояние триггера.
ПРОБЛЕМА Что-то случилось. Например, загрузка процессора стала слишком высокой.

В простом триггере мы можем захотеть установить порог по среднему значению каких-либо данных за пять минуи, например, загрузки CPU. Такое можно реализовать добавив выражение триггера, где:

  • к значению полученному в ключе элемента данных применяется 'avg' функция
  • используется период оценки в пять минут
  • задается порог равным '2'
   avg(host/key,5m)>2

Этот триггер "поджигается" (становится ПРОБЛЕМА), если среднее за пять минут превышает 2.

В более сложном триггере выражение может включать в себя комбинацию из нескольких функций и нескольких порогов. Смотрите также: Выражение триггера.

После включения триггера (изменение его состояния конфигурации с Деактивирован на Активирован), выражение триггера будет вычислено как только элемент данных из выражения получит свое значение или, когда подойдет время обработки функции связанной со временем.

Большинство функций триггеров вычисление основывается на данных истории значения элемента данных, а некоторые функции триггеров для долгосрочной аналитики, например, trendavg(), trendcount() и другие используют данные динамики изменений.

Время вычисления

Триггер пересчитывается каждый раз, когда Zabbix сервер получает новое значение, которое является частью выражения. Когда получено новое значение, каждая функция, которая включена в выражение, пересчитывается (не только та, что получила новое значение).

Кроме того, триггер просчитывается каждый раз, когда получено новое значение и каждые 30 секунд, если в выражении триггера используются функции связанные со временем.

Функции связанные со временем - nodata(), date(), dayofmonth(), dayofweek(), time(), now(); они пересчитываются каждые 30 секунд процессами синхронизации истории Zabbix.

Триггеры, которые ссылаются только на функции динамики изменений вычисляются один раз за наименьший период в выражении. Смотрите также функции динамики изменений.

Период вычисления

Период вычисления используется в функциях, которые ссылаются на историю элемента данных. Это позволяет указать интересующий нас интервал. Интервал можно указать в виде периода времени (30s, 10m, 1h) или в виде диапазонов значений (#5 -для пяти последних значений).

Период вычисления измеряется до "сейчас" - где "сейчас", это время последнего пересчета триггера (смотрите Время вычисления выше); "сейчас", это не "текущее" время сервера.

Период вычисления указывает либо:

  • Учитывать все значения между "сейчас-период времени" и "сейчас" (или, при наличии сдвига времени, между "сейчас-сдвиг_времени-период времени" и "сейчас-сдвиг_времени")
  • Учитывать не более чем количество значений из прошлого, до "сейчас"
    • Если имеется 0 доступных значений за этот период времени или указанное количество - тогда триггер или вычисляемый элемент данных, который использует такую функцию становится неподдерживаемым

Обратите внимание, что:

  • Если в триггере используется одна функция (которая ссылается на данные истории), "сейчас" всегда последнее полученное значение. Например, если последнее значение получено час назад, период вычисления будет рассматриваться до последнего значения часом ранее.
  • Новый триггер вычисляется сразу, как только получено первое значение (функции истории); он будет вычисляться в течении 30 секунд при наличии функций связанных со временем. Таким образом триггер будет вычислен даже, если заданный период оценки (например, один час) еще не прошел с момента создания триггера. Триггер также будет вычислен после первого значения даже, если диапазон оценки был задан, например, последними десятью значениями.

Unknown state

It is possible that an unknown operand appears in a trigger expression if:

  • an unsupported item is used
  • the function evaluation for a supported item results in an error

In this case a trigger generally evaluates to "unknown" (although there are some exceptions). For more details, see Expressions with unknown operands.

It is possible to get notified on unknown triggers.