6. Тегирование
Обзор
Теги состоят из имени тега и значения тега.
При тегировании объектов можете использовать только имя или пару имени вместе со значением (например, mysql, jira, target:mysql, service:jira и т. д.).
Теги можно определить для различных объектов:
- шаблоны
- узлы сети
- элементы данных
- веб-сценарии
- триггеры
- услуги
- элементы данных и триггеры из шаблонов
- прототипы узлов сети, элементов данных и триггеров
Ознакомьтесь с официальными руководствами Zabbix для общих рекомендаций [en] по определению тегов, а также конкретными рекомендациями для шаблонов [en], элементов данных [en],триггеров [en] и правил низкоуровневого обнаружения [en].
Теги предназначены для нескольких целей, в основном, для маркировки событий. Когда объект помечен тегом, любое новое событие, относящееся к помеченному объекту, унаследует его теги. Например:
- для помеченных тегами шаблонов — любые проблемы узла сети (созданные триггерами из этого шаблона) унаследуют теги шаблона
- для помеченных тегами узлов сети — любая проблема узла сети унаследует теги узла сети
- для помеченных тегами элементов данных и веб-сценариев — любые проблемы по этому элементу данных или веб-сценарию унаследуют теги элемента данных или веб-сценария
- для помеченных тегами триггеров — любая проблема, созданная этим триггером, унаследует теги триггера
Событие о проблеме наследует все теги со всей цепочки объектов — шаблонов, узлов сети, элементов данных, веб-сценариев, триггеров.
Идентичные комбинации тег:значение (после раскрытия макросов) объединяются в одну, что позволяет избегать дублирования.
Пользовательские теги событий дают большую гибкость. Например:
- корреляция событий может быть настроена на основе тегов событий;
- условия действия могут быть настроены на основе тегов событий;
- проблемы элементов данных могут быть сгруппированы на основе тегов событий;
- теги проблем можно использовать для сопоставления проблем с услугами.
Объект можно пометить тегами с одинаковыми именами, но разными значениями (например, component:memory и component:storage).
Аналогично, у объекта может быть тег без значения и тот же тег со значением (например, database и database:postgresql).
Такие теги не считаются дубликатами.
Сценарии применения
Некоторые распространённые сценарии использования тегов:
-
Маркировка событий триггеров:
- Задайте тег на уровне триггера (например:
scope:performance). - Проблемы, созданные этим триггером, будут иметь тег триггера.
- Задайте тег на уровне триггера (например:
-
Маркировка проблем, унаследованных от шаблона:
- Задайте тег на уровне шаблона (например:
target:mysql). - Проблемы узлов сети, созданные триггерами из этого шаблона, будут иметь тег шаблона.
- Задайте тег на уровне шаблона (например:
-
Маркировка проблем узла сети:
- Задайте тег на уровне узла сети (например:
service:Jira). - Проблемы, созданные триггерами этого узла сети, будут иметь тег узла сети.
- Задайте тег на уровне узла сети (например:
-
Фильтрация связанных элементов данных:
- Задайте тег на уровне элемента данных (например:
component:cpu). - В разделе Мониторинг → Последние данные элементы данных могут быть отфильтрованы по тегу
component:cpu.
- Задайте тег на уровне элемента данных (например:
-
Использование информации, извлечённой из значения элемента данных, в качестве значения тега:
- Задайте тег с макросом в качестве значения тега (например:
tag-name:{{ITEM.VALUE<N>}.regsub()}). - В разделе Мониторинг → Проблемы проблемы будут иметь тег со значением, раскрытым в данные, извлечённые из значения элемента данных.
- Задайте тег с макросом в качестве значения тега (например:
-
Идентификация проблем в файле журнала и закрытие их по отдельности:
- Задайте тег на уровне триггера для триггера элемента данных файла журнала, который будет извлекать значения из значения элемента данных при помощи макроса (например:
{{ITEM.VALUE<N>}.regsub()}). - В настройках триггера используйте корреляцию событий:
- для параметра Режим генерации событий ПРОБЛЕМА выберите значение «Множественный»;
- для параметра ОК событие закрывает выберите значение «Все проблемы если значения тегов совпадают»;
- выберите тег для поиска совпадений.
- Проблемы, создаваемые трриггером элемента данных файла журнала, будут иметь тег триггера и будут закрываться по отдельности.
- Задайте тег на уровне триггера для триггера элемента данных файла журнала, который будет извлекать значения из значения элемента данных при помощи макроса (например:
-
Фильтрация оповещений:
- Задайте теги на уровне триггеров (например:
scope:securityдля триггер1 иscope:availabilityдля триггер2). - Используйте фильтрацию тегов в условиях действий, чтобы получать оповещения только по тем событиям, которые соответствуют данным в тегах.
- Задайте теги на уровне триггеров (например:
-
Идентификации проблем в оповещениях:
- Задайте теги на уровне триггера.
- Используйте макрос {EVENT.TAGS} в оповещении на проблемы.
- Оповещение на проблему будет содержать теги триггера, что упрощает идентификацию того, к какому приложению/сервису относится оповещение.
-
Упрощение задач настройки с использованием тегов на уровне шаблонов:
- Задайте тег для триггера на уровне шаблона.
- Триггеры, создаваемые из триггера этого шаблона, будут иметь его тег.
-
Создание триггеров с тегами из низкоуровневого обнаружения (LLD):
- Задайте теги для прототипа триггеров с макросом LLD в имени или значении тега (например:
scope:{#FSNAME}). - Триггеры, создаваемые из прототипа триггеров, будут иметь его тег.
- Задайте теги для прототипа триггеров с макросом LLD в имени или значении тега (например:
-
Сопоставление услуг, используя теги услуг:
- Задайте теги услуг.
- Настройте действия на услуги для услуг с соответствующими тегами.
- Кроме того, используйте теги услуг, чтобы связать услуги с SLA для вычислений SLA.
-
Связывание услуг с проблемами, используя теги проблем:
- Задайте тег проблемы в настройках услуг, (например:
target:mysql). - Проблемы с соответствующим тегом будут автоматически соотнесены с этой услугой, а состояние услуги будет меняться в зависимости от настроенных правил расчёта состояния услуги.
- Задайте тег проблемы в настройках услуг, (например:
-
Подавление проблем, когда узел сети находится в режиме обслуживания:
- Задайте теги в настройках периода обслуживания.
- Проблемы с заданными тегами будут подавлены.
-
Предоставление доступа группам пользователей:
- Укажите теги в настройках группы пользователей.
- Пользователи в этой группе пользователей смогут просматривать только проблемы с заданными тегами.
Настройка
Теги можно указать на отдельной вкладке, например, в настройках триггера:

Поддержка макросов
Встроенные и пользовательские макросы в тегах раскрываются во время события. До наступления события эти макросы отображаются в веб-интерфейсе Zabbix нераскрытыми.
Макросы низкоуровневого обнаружения (LLD) раскрываются во время процесса обнаружения.
В именах и значениях тегов триггеров можно использовать следующие макросы:
- Встроенные макросы {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} и {HOST.ID}
- Встроенные макросы {INVENTORY.*} (для ссылки на значения инвентарных данных с одного или нескольких узлов сети в выражении триггера)
- Пользовательские макросы и пользовательские макросы с контекстом (контекст может включать макросы низкоуровневого обнаружения)
- Макросы низкоуровневого обнаружения (только в тегах прототипов триггеров)
В именах и значениях тегов к шаблонам, узлам сети, элементам данных и веб-сценариям можно использовать следующие макросы:
- Встроенные макросы {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} и {HOST.ID}
- Встроенные макросы {INVENTORY.*}
- Пользовательские макросы
- Макросы низкоуровневого обнаружения (только в тегах к прототипам узлов сети и элементов данных)
В оповещениях на триггеры можно использовать следующие макросы:
- Встроенные макросы {EVENT.TAGS} и {EVENT.RECOVERY.TAGS} (эти макросы раскрываются в разделённый запятой список тегов событий или тегов событий о восстановлении)
- Встроенные макросы {EVENT.TAGSJSON} и {EVENT.RECOVERY.TAGSJSON} (эти макросы раскрываются в JSON массив, содержащий объекты тегов событий или объекты тегов событий о восстановлении)
Извлечение подстроки в тегах к триггерам
Поддерживается извлечение подстроки для заполнения имени тега или значения тега при использовании функции макросов. Функция применяет регулярное выражение к значению, полученному поддерживаемым макросом. Например:
{{ITEM.VALUE}.regsub(шаблон, вывод)}
{{ITEM.VALUE}.iregsub(шаблон, вывод)}
{{#LLDMACRO}.regsub(шаблон, вывод)}
{{#LLDMACRO}.iregsub(шаблон, вывод)}
Имя тега и значение будут обрезаны до 255 символов, если их длина превысит 255 символов после раскрытия макросов.
Смотрите также: Использование функций макросов в макросах низкоуровневого обнаружения для маркировки событий.
Просмотр тегов событий
Маркировку, если задана, можно увидеть вместе с новыми событиями в:
- Мониторинг → Проблемы
- Мониторинг → Проблемы → Детали события
- Панели → виджет Проблемы
Порядок и количество отображаемых тегов определяется опциями Приоритет отображения тегов (Tag display priority) и Отображать теги (Show tags) в разделе Мониторинг → Проблемы либо виджете панели Проблемы. Обратите внимание, что можно отобразить максимум три тега; если тегов больше, то при наведении указателя мыши на многоточие все теги отобразятся во всплывающем окне.
