Глобальная корреляция событий
Обзор
Эта функция устарела и может быть удалена в будущих версиях. Информацию об обновленных возможностях корреляции событий см. в разделе Сложная обработка событий.
Глобальная корреляция событий позволяет охватывать все метрики, отслеживаемые Zabbix, и создавать корреляции.
Можно сопоставлять события, созданные совершенно разными триггерами, и применять к ним одинаковые операции. Создавая интеллектуальные правила корреляции, можно избавиться от тысяч повторяющихся уведомлений и сосредоточиться на первопричинах проблемы!
Глобальная корреляция событий — это мощный механизм, который позволяет отказаться от логики, основанной на связи одной проблемы с одним триггером. До сих пор одно событие проблемы создавалось одним триггером, и для разрешения проблемы требовался тот же триггер. Нельзя было разрешить проблему, созданную одним триггером, с помощью другого триггера. Но корреляция событий на основе тегов событий позволяет это сделать.
Например, триггер журнала может сообщать о проблемах приложения, а триггер опроса — о том, что приложение работает. Используя теги событий, можно присвоить триггеру журнала тег status:down, а триггеру опроса — тег status:up. Затем в правиле глобальной корреляции можно связать эти триггеры и назначить для этой корреляции соответствующую операцию, например закрытие старых событий.
В другом случае глобальная корреляция может выявлять похожие триггеры и применять к ним одинаковую операцию. Что, если получать только один отчет о проблеме для каждой проблемы сетевого порта? Нет необходимости сообщать о них всех. Глобальная корреляция событий также позволяет это сделать.
Глобальная корреляция событий настраивается в правилах корреляции. Правило корреляции определяет, как новые события проблем сопоставляются с существующими событиями проблем и что делать при совпадении (закрыть новое событие или закрыть совпавшие старые события, создав соответствующие события OK). Если проблема закрыта с помощью глобальной корреляции, это указывается в столбце Информация раздела Мониторинг > Проблемы.
Настраивать правила глобальной корреляции могут только пользователи уровня «Суперадминистратор».
Корреляцию событий необходимо настраивать очень внимательно, поскольку она может отрицательно повлиять на производительность обработки событий или, при неправильной настройке, закрыть больше событий, чем предполагалось (в худшем случае могут быть закрыты даже все события проблем).
Чтобы безопасно настроить глобальную корреляцию, соблюдайте следующие важные рекомендации:
- Уменьшайте область корреляции. Всегда задавайте уникальный тег для нового события, сопоставляемого со старыми событиями, и используйте условие корреляции Имя тега нового события.
- Добавляйте явное условие для старого события при использовании операции Закрыть старые события. Всегда добавляйте как минимум одно условие Старое событие (например, Имя тега старого события, Значение тега старого события или Пара тегов события) при выборе операции Закрыть старые события; в противном случае правило может сопоставить и закрыть несвязанные существующие события проблем (в худшем случае — все проблемы). Для сопоставления динамических значений (порт узла сети, идентификатор сеанса и т. д.) предпочтительно использовать Пару тегов события, а при возможности дополнительно ограничивать сопоставление узлом сети или группой узлов сети.
- Избегайте использования общих имен тегов, которые могут использоваться в разных конфигурациях корреляции.
- Ограничивайте количество правил корреляции только действительно необходимыми правилами.
См. также: известные проблемы.
Настройка
Чтобы настроить правила корреляции событий глобально:
- Перейдите в Сбор данных > Обработка событий.
- Нажмите Создать корреляцию событий справа (или имя корреляции, чтобы изменить существующее правило).
- Введите параметры правила корреляции в форме.

Все обязательные поля ввода отмечены красной звездочкой.
| Параметр | Описание |
|---|---|
| Имя | Уникальное имя правила корреляции. |
| Тип вычисления | Доступны следующие варианты вычисления условий: И - должны выполняться все условия Или - достаточно выполнения одного условия И/Или - AND для разных типов условий и OR для условий одного типа Пользовательское выражение - заданная пользователем формула вычисления для оценки условий действия. Она должна включать все условия (представленные заглавными буквами A, B, C, ...) и может содержать пробелы, табуляции, скобки ( ), and (с учетом регистра), or (с учетом регистра), not (с учетом регистра). |
| Условия | Список условий. Подробнее о настройке условия см. ниже. |
| Описание | Описание правила корреляции. |
| Операции | Установите флажок операции, которую необходимо выполнить при корреляции события. Доступны следующие операции: Закрыть старые события - закрыть старые события при возникновении нового события. При использовании операции Закрыть старые события всегда добавляйте условие на основе старого события, иначе могут быть закрыты все существующие проблемы. Закрыть новое событие - закрыть новое событие при его возникновении. Предупреждение! Не оставляйте условия старого/нового события пустыми при использовании операций Закрыть старые события/Закрыть новое событие.Если выбрать операцию Закрыть старые события, не добавив условие, соответствующее старому событию, Zabbix может сопоставить все существующие старые события и закрыть их.Всегда добавляйте явное условие старого события (например, Имя тега старого события или Пара тегов событий) при использовании операции Закрыть старые события. Например, правило, использующее только Условие нового события и операцию Закрыть старые события, сопоставит все старые события, соответствующие (отсутствующим) критериям старого события, фактически закрывая старые проблемы. |
| Включено | Если установить этот флажок, правило корреляции будет включено. |
Чтобы настроить параметры нового условия, нажмите
в блоке «Условия».
Откроется всплывающее окно, в котором можно изменить параметры условия.

| Параметр | Описание |
|---|---|
| Новое условие | Выберите условие для корреляции событий. Примечание: если условие старого события не указано, могут быть сопоставлены и закрыты все старые события. Аналогично, если условие нового события не указано, могут быть сопоставлены и закрыты все новые события. Доступны следующие условия: Имя тега старого события - укажите имя тега старого события для сопоставления. Имя тега нового события - укажите имя тега нового события для сопоставления. Группа узлов сети нового события - укажите группу узлов сети нового события для сопоставления. Пара тегов событий - укажите имя тега нового события и имя тега старого события для сопоставления. В этом случае сопоставление будет выполнено, если значения тегов в обоих событиях совпадают. Имена тегов могут различаться. Этот вариант полезен для сопоставления значений, полученных во время выполнения, которые могут быть неизвестны на момент настройки (см. также Пример). Значение тега старого события - укажите имя и значение тега старого события для сопоставления, используя следующие операторы: равно - имеет значение тега старого события не равно - не имеет значения тега старого события содержит - содержит строку в значении тега старого события не содержит - не содержит строку в значении тега старого события Значение тега нового события - укажите имя и значение тега нового события для сопоставления, используя следующие операторы: равно - имеет значение тега нового события не равно - не имеет значения тега нового события содержит - содержит строку в значении тега нового события не содержит - не содержит строку в значении тега нового события |
Поскольку возможна неправильная настройка, при которой для несвязанных проблем могут создаваться похожие теги событий, ознакомьтесь с описанными ниже случаями!
- Фактические теги и значения тегов становятся видимыми только после срабатывания триггера. Если используется недопустимое регулярное выражение, оно без уведомления заменяется строкой *UNKNOWN*. Если исходное событие проблемы со значением тега *UNKNOWN* пропущено, впоследствии могут появиться события OK с таким же значением тега *UNKNOWN*, которые могут закрыть события проблем, не предназначенные для закрытия.
- Если пользователь использует макрос {ITEM.VALUE} без функций макросов в качестве значения тега, применяется ограничение в 255 символов. Если сообщения журнала длинные, а первые 255 символов не содержат специфичной информации, это также может привести к появлению похожих тегов событий для несвязанных проблем.
Пример
Останавливайте повторяющиеся события проблем с одного и того же сетевого порта.

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