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

#### Обзор

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

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

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

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

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

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

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

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

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

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

Смотрите также: [известные
проблемы](/ru/manual/installation/known_issues#глобальная_корреляция_событий).

#### Настройка

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

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

![correlation\_rule1.png](../../../../assets/en/manual/config/correlation_rule1.png){width="600"}

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

|Параметр|Описание|
|----------------|----------------|
|*Имя*|Уникальное имя правила корреляции.|
|*Тип вычисления*|Для вычисления условий доступны следующие опции:<br>**И** - должны быть выполнены все условия<br>**Или** - достаточно выполнения одного условия<br>**И/Или** - И с разными типами условий и ИЛИ с одинаковым типом условий<br>**Пользовательское выражение** - формула вычисления, введенная пользователем, для оценки условий действия. Она должна включать в себя все условия (представленные в виде прописных букв A, B, C, …) и может включать пробелы, символы табуляции, скобки ( ), **and** (с учетом регистра), **or** (с учетом регистра), **not** (регистрозависимое).|
|*Условия*|Список условий, выбранных из *Новое условие* поля.|
|*Новое условие*|Выберите условия для корреляции событий и нажмите на *Добавить*.<br>*Обратите внимание*, что если условие по старому событию не указано, все старые события могут быть сопоставлены и закрыты. Аналогично, если условие по новому событию не указано, все новые события могут быть сопоставлены и закрыты.<br>Доступны следующие условия:<br>**Тег старого события** - задайте тег старого события для сопоставления<br>**Тег нового события** - задайте тег нового события для сопоставления<br>**Группа узлов сети нового события** - задайте группу узлов сети нового события для сопоставления<br>**Пара тегов событий** - задайте тег нового значения и тег старого значения для сопоставления. В этом случае сопоставление производится, если **значения** указанных тегов совпадают в обоих событиях. *Имена* тегов не обязаны совпадать.<br>Эта опция может быть полезна для сопоставления значений в реальном времени, которые могут быть неизвестны в процессе настройки (смотрите также [Пример 1](/ru/manual/config/event_correlation/global#примеры))<br>**Значение тега старого события** - задайте имя тега старого события и значение для сопоставления, используя следующие операторы:<br>*равно* - имеет соответствующее значение тега старого события<br>*не равно* - не имеет соответствующее значение тега старого события<br>*содержит* - имеет соответствующую строку в значении тега старого события<br>*не содержит* - не имеет соответствующую строку в значении тега старого события<br>**Значение тега нового события** - задайте имя тега нового события и значения для сопоставления, используя следующие операторы:<br>*равно* - имеет соответствующее значение тега нового события<br>*не равно* - не имеет соответствующее значение тега нового события<br>*содержит* - имеет соответствующую строку в значении тега нового события<br>*не содержит* - не имеет соответствующую строку в значении тега нового события|
|*Описание*|Описание правила корреляции.|
|*Активировано*|Если вы выберите этот параметр, правило корреляции будет активировано.|

-   В диалоге выберите операцию правила корреляции в диалоге

![](../../../../assets/en/manual/config/correlation_rule2.png)

|Параметр|Описание|
|----------------|----------------|
|*Операции*|Список операция, выбранных из *Новая операция* поля.|
|*Новая операция*|Выберите выполняемую операцию при соответствии события и нажмите на *Добавить*. Доступны следующие операции:<br>**Закрыть старые события** - закрыть старые события при появлении нового события. Всегда добавляйте условие на основе старого события при использовании *Закрыть старые события* операции или будут закрыты все существующие проблемы.<br>**Закрыть новое событие** - закрыть новое событие при его появлении|

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

-   Реальные теги и значения тегов становятся видимы только когда
    срабатывает триггер. Если используемое регулярное выражение
    ошибочно, оно автоматически заменяется на \*НЕИЗВЕСТНО\* строку.
    Если изначальное событие о проблеме со значением тега \*НЕИЗВЕСТНО\*
    отсутствует, тогда могут появиться последующие ОК события с тем же
    значением тега \*НЕИЗВЕСТНО\*, которые могут закрыть события о
    проблемах, которые они не должны закрывать.

```{=html}
<!-- -->
```
-   Если пользователь использует {ITEM.VALUE} макрос без функций макроса
    в качестве значения тега, тогда будет применяться ограничение по
    длине строки в 255-символ. Когда в журнале имеются длинные сообщения
    и первые 255 символов не конкретизируют проблему, может привести к
    идентичным тегам событий по нерешаемым проблемам.

#### Примеры

##### Пример 1

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

![](../../../../assets/en/manual/config/correlation_example1.png){width="600"}

Такое глобальное правило корреляции сопоставит проблемы, если у триггера
существуют *Узел сети* и *Порт* значения тегов и они такие же как у
оригинального события, так и у нового события.

![](../../../../assets/en/manual/config/correlation_example_b.png)

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