Корреляция событий на основе триггеров позволяет сопоставлять отдельные проблемы, о которых сообщает один триггер.
В то время как ОК события закрывают в Zabbix все события о проблеме, бывают случаи, когда необходим более обстоятельный подход. Например, при мониторинге файлов журналов вы можете захотеть обнаруживать некоторые проблемы в файле журнала и закрывать их по отдельности, а не все разом.
Это тот случай, когда триггеры имеют активированную опцию Формирование множественных Проблема событий. Такие триггеры обычно используются для мониторинга журналов, обработки трапов и т.п.
В Zabbix имеется возможность сопоставить события о проблемах, основываясь на тегах событий. Теги используются для извлечения значений и создания метки по событиям о проблеме. Используя преимущества такого подхода, проблемы могут быть закрыты отдельно на основании совпадения тега.
Другими словами, один триггер может создавать отдельные события, которые идентифицируются при помощи тега событий. Следовательно, события о проблемах могут быть выявлены одно за другим и закрыты отдельно на основании метки при помощи тега событий.
В мониторинге журналов вы можете встретиться со строками как эти:
Строка1: Приложение 1 остановлено
Строка2: Приложение 2 остановлено
Строка3: Приложение 1 перезапущено
Строка4: Приложение 2 перезапущено
Идея корреляции событий состоит в том, чтобы была возможность сопоставить событие о проблеме со Строки1 с решением со Строки3 и событие о проблеме со Строки2 с решением со Строки4 и закрыть эти проблемы одну за другой:
Строка1: Приложение 1 остановлено
Строка3: Приложение 1 перезапущено #проблема со Строки 1 закрыта
Строка2: Приложение 2 остановлено
Строка4: Приложение 2 перезапущено #проблема со Строки 2 закрыта
Чтобы сделать подобное вам необходимо отметить эти связанные события как, например, "Приложение 1" и "Приложение 2". Это можно сделать применив регулярное выражение к строке из файла журнала, чтобы извлечь значение тега. Затем, когда события будут созданы, они будут промаркированы как "Приложение 1" и "Приложение 2" соответственно и проблема может быть сопоставлена решению.
To begin with, you may want to set up an item that monitors a log file, for example:
With the item set up, wait a minute for the configuration changes to be picked up and then go to Latest data to make sure that the item has started collecting data.
Для настройки корреляции на уровне триггера:
Все обязательные поля ввода отмечены красной звёздочкой.
При успешной настройке у вас будет возможность видеть события о проблемах промаркированные приложением и сопоставленные с их решением в Мониторинг → Проблемы.
Посколько возможна некорректная настройка, когда похожие теги событий могут быть созданы по нерешаемым проблемам, пожалуйста, рассмотрите указанные ниже подобные случаи!
With the item working you need to configure the trigger. It's important to decide what entries in the log file are worth paying attention to. For example, the following trigger expression will search for a string like 'Stopping' to signal potential problems:
To make sure that each line containing the string "Stopping" is considered a problem also set the Problem event generation mode in trigger configuration to 'Multiple'.
Then define a recovery expression. The following recovery expression will resolve all problems if a log line is found containing the string "Starting":
Since we do not want that it's important to make sure somehow that the corresponding root problems are closed, not just all problems. That's where tagging can help.
Problems and resolutions can be matched by specifying a tag in the trigger configuration. The following settings have to be made:
If configured successfully you will be able to see problem events tagged by application and matched to their resolution in Monitoring → Problems.
Because misconfiguration is possible, when similar event tags may be created for unrelated problems, please review the cases outlined below!