2. Глобальная корреляция событий
Обзор
Глобальная корреляция событий позволят охватить все метрики, наблюдаемые Zabbix, и создавать корреляции.
Имеется возможность сопоставления событий, которые были созданы совершенно разными триггерами, и применения одних и тех же операций к ним ко всем. Создавая интеллектуальные правила корреляции, можно обезопасить себя от тысяч повторяющихся оповещений и сфокусироваться на реальных причинах проблемы!
Глобальная корреляция событий — мощный механизм, который позволяет вам отвязать себя от логики проблемы и решения, основанной на одном триггере. До сих пор одно событие о проблеме создавалось одним триггером, и мы зависели от этого же триггера в плане решения проблемы. Мы не могли решить проблему, которая была создана одним триггером, при помощи другого триггера. Но с корреляцией событий на основе тегов событий — мы можем.
Например, триггер на журнал может сообщать о проблемах с приложением, в то время как триггер на основе опроса может сообщать, что приложение запущено и работает. Используя теги событий, вы можете пометить триггер на журнал как состояние: недоступен, тогда как тегом триггера на основе опроса будет состояние: доступен. Затем, в глобальном правиле корреляции вы можете соотнести эти триггеры и назначить соответствующую операцию на эту корреляцию, такую как закрытие старых событий.
В другом случае глобальная корреляция может распознавать похожие триггеры и применять к ним ту же операцию. Что если мы могли бы получать только одно сообщение о проблемах по каждому сетевому порту? Не требуется сообщать их все. Это также возможно при помощи глобальной корреляции событий.
Глобальная корреляция событий настраивается в правилах корреляции. Правило корреляции определяет, каким образом новые события о проблемах соотносятся с существующими событиями о проблемах, и что делать в случае совпадения (закрыть новое событие, закрыть старые события, сформировав соответствующие события ОК). Если проблема закрыта при помощи глобальной корреляции, об этом сообщается в колонке Инфо (Info) в Мониторинг (Monitoring) → Проблемы (Problems).
Настройка глобальных правил корреляции доступна только пользователям с уровнем Zabbix Супер-Администратор.
Корреляцию событий необходимо настраивать очень осторожно, так как некорректная настройка может негативно сказаться на производительности обработки событий или может привести к закрытию большего количества событий, чем предполагалось (в худшем случае будут закрыты все события о проблемах).
Для безопасной настройки глобальной корреляции обратите внимание на следующие важные советы:
- Уменьшайте область действия корреляции. Всегда указывайте новому событию уникальный тег, который соотносится со старыми событиями, и используйте условие корреляции Имя тега нового события (New event tag name).
- При использовании операции Закрыть старые события (Close old events) добавляйте явное условие для старых событий. Всегда добавляйте как минимум одно условие для Старого события (например, Имя тега старого события (Old event tag name), Значение тега старого события (Old event tag value) или Пара тегов событий (Event tag pair)) при выборе параметра Закрыть старые события (Close old events) — в противном случае правило может сопоставить и закрыть несвязанные существующие события проблем (в худшем случае, все проблемы). Отдавайте предпочтение типу Пара тегов событий (Event tag pair) для сопоставления значений во время выполнения (хост:порт, идентификатор сессии и т. д.) и дополнительно сужайте поиск по узлу сети или группе узлов сети, если это возможно.
- Избегайте использования общих имён тегов, которые в итоге могут быть использованы разными настройками корреляций.
- Ограничьте количество правил корреляции теми, которые вам действительно необходимы.
Смотрите также: известные проблемы.
Конфигурация
Чтобы глобально настроить правила корреляции событий:
- Перейдите в Data collection > Event correlation
- Нажмите Create event correlation справа (или на имя корреляции, чтобы изменить существующее правило)
- Введите параметры правила корреляции в форме

Все обязательные поля ввода отмечены красной звездочкой.
| Parameter | Description |
|---|---|
| Name | Уникальное имя правила корреляции. |
| Type of calculation | Доступны следующие варианты вычисления условий: And - должны быть выполнены все условия Or - достаточно, чтобы было выполнено одно условие And/Or - AND для разных типов условий и OR для одинакового типа условий Custom expression - пользовательская формула вычисления для оценки условий действия. Она должна включать все условия (представленные заглавными буквами A, B, C, ...) и может содержать пробелы, табуляции, скобки ( ), and (с учетом регистра), or (с учетом регистра), not (с учетом регистра). |
| Conditions | Список условий. Подробности по настройке условия см. ниже. |
| Description | Описание правила корреляции. |
| Operations | Отметьте флажок операции, которую нужно выполнить, когда событие будет скоррелировано. Доступны следующие операции: Close old events - закрыть старые события, когда происходит новое событие. Всегда добавляйте условие на основе старого события при использовании операции Close old events, иначе могут быть закрыты все существующие проблемы. Close new event - закрыть новое событие, когда оно происходит. Warning! Не оставляйте условия старого/нового события пустыми при использовании Close old events/Close new event. Если вы выберете операцию Close old events без добавления условия, которое соответствует старому событию, Zabbix может сопоставить все существующие старые события и закрыть их. Всегда добавляйте явное условие старого события (например, Old event tag name или Event tag pair) при использовании Close old events. Например, правило, которое использует только New event condition и операцию Close old events, будет сопоставлять все старые события, которые соответствуют (отсутствующим) критериям старого события, - фактически закрывая старые проблемы. |
| Enabled | Если вы отметите этот флажок, правило корреляции будет включено. |
Чтобы настроить подробности нового условия, нажмите
в блоке Conditions.
Откроется всплывающее окно, в котором можно изменить параметры условия.

| Parameter | Description |
|---|---|
| New condition | Выберите условие для корреляции событий. Note что если не указано условие старого события, могут быть сопоставлены и закрыты все старые события. Аналогично, если не указано условие нового события, могут быть сопоставлены и закрыты все новые события. Доступны следующие условия: Old event tag name - укажите имя тега старого события для сопоставления. New event tag name - укажите имя тега нового события для сопоставления. New event host group - укажите группу узлов сети нового события для сопоставления. Event tag pair - укажите имя тега нового события и имя тега старого события для сопоставления. В этом случае совпадение будет, если совпадают значения тегов в обоих событиях. Имена тегов могут не совпадать. Этот вариант полезен для сопоставления значений во время выполнения, которые могут быть неизвестны на момент настройки (см. также Example). Old event tag value - укажите имя и значение тега старого события для сопоставления, используя следующие операторы: equals - имеет значение тега старого события does not equal - не имеет значения тега старого события contains - содержит строку в значении тега старого события does not contain - не содержит строку в значении тега старого события New event tag value - укажите имя и значение тега нового события для сопоставления, используя следующие операторы: equals - имеет значение тега нового события does not equal - не имеет значения тега нового события contains - содержит строку в значении тега нового события does not contain - не содержит строку в значении тега нового события |
Поскольку возможна неправильная настройка, а похожие теги событий могут создаваться для несвязанных проблем, пожалуйста, ознакомьтесь со случаями, описанными ниже!
- Фактические теги и значения тегов становятся видимыми только при срабатывании триггера. Если используемое регулярное выражение недопустимо, оно без предупреждения заменяется строкой *UNKNOWN*. Если исходное проблемное событие со значением тега *UNKNOWN* будет пропущено, могут появиться последующие события OK с тем же значением тега *UNKNOWN*, которые могут закрыть проблемные события, хотя не должны были этого делать.
- Если пользователь использует макрос {ITEM.VALUE} без функций макросов в качестве значения тега, применяется ограничение в 255 символов. Когда сообщения журнала длинные и первые 255 символов не содержат специфики, это также может привести к появлению похожих тегов событий для несвязанных проблем.
Пример
Остановка повторяющихся событий о проблемах с одного и того же сетевого порта.

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