2. Глобальная корреляция событий

Обзор

Глобальная корреляция событий позволят охватить все метрики, наблюдаемые Zabbix, и создавать корреляции.

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

Глобальная корреляция событий — мощный механизм, который позволяет вам отвязать себя от логики проблемы и решения, основанной на одном триггере. До сих пор одно событие о проблеме создавалось одним триггером, и мы зависели от этого же триггера в плане решения проблемы. Мы не могли решить проблему, которая была создана одним триггером, при помощи другого триггера. Но с корреляцией событий на основе тегов событий — мы можем.

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

В другом случае глобальная корреляция может распознавать похожие триггеры и применять к ним ту же операцию. Что если мы могли бы получать только одно сообщение о проблемах по каждому сетевому порту? Не требуется сообщать их все. Это также возможно при помощи глобальной корреляции событий.

Глобальная корреляция событий настраивается в правилах корреляции. Правило корреляции определяет, каким образом новые события о проблемах соотносятся с существующими событиями о проблемах, и что делать в случае совпадения (закрыть новое событие, закрыть старые события, сформировав соответствующие события ОК). Если проблема закрыта при помощи глобальной корреляции, об этом сообщается в колонке Инфо в МониторингПроблемы.

Настройка глобальных правил корреляции доступна только пользователям с уровнем Zabbix Супер-Администратор.

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

Для безопасной настройки глобальной корреляции обратите внимание на следующие важные советы:

  • Уменьшайте область действия корреляции. Всегда указывайте новому событию уникальный тег, который соотносится со старыми событиями, и используйте условие корреляции Тег нового события;
  • Добавляйте условие, которое основывается на старом событии, при использовании операции Закрыть старое событие (в противном случае могут быть закрыты все существующие проблемы);
  • Избегайте использования общих имён тегов, которые в итоге могут быть использованы разными настройками корреляций;
  • Ограничьте количество правил корреляции теми, которые вам действительно необходимы.

Смотрите также: известные проблемы.

Настройка

Для настройки глобальных правил корреляции событий:

  • Перейдите в Сбор данныхКорреляция событий
  • Нажмите на Создать корреляцию событий справа (или на имя корреляции, чтобы изменить уже имеющееся правило)
  • В диалоге введите параметры правила корреляции

correlation_rule.png

Все обязательные поля ввода отмечены красной звёздочкой.

Параметр Описание
Имя (Name) Уникальное имя правила корреляции.
Тип вычисления
(Type of calculation)
Для вычисления условий доступны следующие опции:
И (And) — должны быть выполнены все условия
Или (Or) — достаточно выполнения одного условия
И/Или (And/Or) — И с разными типами условий и ИЛИ с одинаковым типом условий
Пользовательское выражение (Custom expression) — введённая пользователем формула вычисления для оценки условий действия. Она должна включать в себя все условия (представленные в виде прописных букв A, B, C, …) и может включать пробелы, символы табуляции, скобки ( ), and (с учётом регистра), or (с учётом регистра), not (с учётом регистра).
Условия
(Conditions)
Список условий. Смотрите ниже для получения более подробных сведений по настройке условий.
Описание
(Description)
Описание правила корреляции.
Операции
(Operations)
Отметьте операции, выполняемые при успешной корреляции события. Доступны следующие операции:
Закрыть старые события (Close old events) — закрыть старые события при появлении нового события. Всегда добавляйте условие на основе старого события при использовании операции Закрыть старые события, или будут закрыты все существующие проблемы.
Закрыть новое событие (Close new event) — закрыть новое событие при его появлении
Активировано
(Enabled)
Если вы отметите этот параметр, правило корреляции будет активировано.

Чтобы настроить детали нового условия, нажмите на (Добавить) в блоке Условия. Откроется всплывающее окно, где вы сможете отредактировать детали условия.

Параметр Описание
Новое условие
(New condition)
Выберите условие для корреляции событий.
Обратите внимание, если условие на старое событие не указано, все старые события могут быть сопоставлены и затем закрыты. Точно так же, если условие на новое событие не указано, все новые события могут быть сопоставлены и затем закрыты.
Доступны следующие условия:
Имя тега старого события (Old event tag) — тег старого события для поиска совпадения
Имя тега нового события (New event tag) — тег нового события для поиска совпадения
Группа узлов сети нового события (New event host group) — группа узлов сети нового события для поиска совпадения
Пара тегов событий (Event tag pair) — новый тег событий и старый тег событий для поиска совпадений. В этом случае будет совпадение, если совпадают значения тегов в обоих событиях. Имена тегов не обязаны совпадать.
Эта опция может быть полезна для сопоставления значений в реальном времени, которые могут быть неизвестны в процессе настройки (смотрите также Пример 1)
Значение тега старого события (Old event tag value) — имя и значение тега старого события для поиска совпадения с использованием следующих операторов:
равно (equals) — имеет значение тега старого события
не равно (does not equal) — не имеет значение тега старого события
содержит (contains) — имеет соответствующую строку в значении тега старого события
не содержит (does not contain) — не имеет соответствующую строку в значении тега старого события
Значение тега нового события (New event tag value) — имя и значение тега нового события для поиска совпадения с использованием следующих операторов:
равно (equals) — имеет значение тега нового события
не равно (does not equal) — не имеет значение тега нового события
содержит (contains) — имеет соответствующую строку в значении тега нового события
не содержит (does not contain) — не имеет соответствующую строку в значении тега нового события

Посколько возможна некорректная настройка, когда аналогичные теги событий могут быть созданы по не связанным проблемам, пожалуйста, ознакомьтесь со случаями, которые описаны ниже!

  • Фактические теги и значения тегов становятся видны только при срабатывании триггера. Если используемое регулярное выражение ошибочно, оно автоматически заменится на строку *НЕИЗВЕСТНО*. Если изначальное событие о проблеме с *НЕИЗВЕСТНО* пропущено, могут появиться последующие события OK с таким же значением тега *НЕИЗВЕСТНО*, которые могут закрыть события о проблеме, которые они не должны были бы закрывать.
  • Если пользователь в качестве значения тега использует макрос {ITEM.VALUE} без функций макросов, то будет применяться ограничение по длине строки в 255 символов. Когда в журнале имеются длинные сообщения и первые 255 символов не конкретизируют проблему, это может привести к одинаковым тегам событий по не связанным проблемам.
Пример 1

Остановка повторяющихся событий о проблемах с одного и того же сетевого порта.

Такое глобальное правило корреляции сопоставит проблемы, если у триггера существуют значения тегов host и port, и они одинаковые как у оригинального события, так и у нового события.

Эта операция будет закрывать новые события о проблемах по тому же самому сетевому порту, оставив открытой только изначальную проблему.