6 Тегирование

Обзор

В Zabbix имеется возможность проставления тегов некоторым сущностям. Теги можно добавлять к:

  • шаблонам
  • узлам сети
  • элементам данных
  • веб-сценариям
  • триггерам
  • услугам
  • элементам данных и триггерам из шаблонов
  • прототипам узлов сети, элементов данных и триггеров

Теги имеют несколько применений, в основном, для маркировки событий. Если объектам добавлены теги, соответствующие новые события получают теги в соответствии:

  • с шаблонами с тегами - любые проблемы узла сети, созданные соответствующими объектами (элементами данных, триггерами и т.п.) с этого шаблона будут промаркированы
  • с узлами сети с тегами - любая проблема узла сети будет промаркирована
  • с элементами данных, веб-сценариями с тегами - любые данные / проблемы по этому элементу данных или веб-сценарию будут промаркированы
  • с триггерами с тегами - любая проблема по этому триггеру будет промаркирована

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

Наличие пользовательских тегов событий дает большую гибкость. Важно то, что события можно соотнести на основании тегов событий. Другим вариантом использования можно назвать действия, которые можно задавать на основе событий с тегами. Проблемы элементов данных можно группировать на основе тегов. Теги проблем можно также использовать для соотношения проблем к услугам.

Тегирование реализовано в виде пар имени тега и значения. Вы можете использовать только имя или пару имени вместе со значением:

MySQL, Сервис:MySQL, Сервисы, Сервисы:Клиент, Приложения, Приложение:Java, Приоритет:Высокий 

Сущность (шаблон, узел сети, элемент данных, веб-сценарий, триггер или событие) может иметь теги с одинаковыми именами, но разными значениями - такие теги не считаются 'дубликатами'. Точно так же, можно использовать одновременно тег без значения и такой же тег со значением.

Сценарии применения

Некоторые сценарии использования этой функциональности заключаются в следующем:

  1. Маркировка событий триггеров в веб-интерфейсе:
    • Задайте тег на уровне триггера, например: scope:performance;
    • Все проблемы, созданные этим триггером, будут помечены данным тегом.
  2. Маркировка всех проблем, унаследованных с шаблона:
    • Задайте тег на уровне шаблона, например: 'target:MySQL';
    • Все проблемы узлов сети, созданные триггерами из этого шаблона, будут помечены данным тегом.
  3. Маркировка всех проблем узла сети:
    • Задайте тег на уровне узла сети, например: 'service:Jira';
    • Все проблемы триггеров этого узла сети будут помечены данным тегом.
  4. Группировка связанных элементов данных:
    • Задайте тег на уровне элемента данных, например: 'component:cpu';
    • В разделе Последние данные используйте фильтрацию по тегам для просмотра всех элементов данных, помеченных тегом 'component:cpu'.
  5. Идентификация проблем в файле журнала и закрытие их по отдельности:
    • Задайте теги для триггера файла журнала, которые будут идентифицировать события с использованием извлечения значения при помощи макроса {{ITEM.VALUE<N>}.regsub()};
    • В настройках триггера укажите режим множественной генерации событий о проблемах;
    • В настройках триггера используйте корреляцию событий: выберите опцию, что событие ОК закрывает только совпадающие события и выберите тег для поиска совпадений;
    • Смотрите события о проблемах, которые создаются с тегом и закрываются независимо.
  6. Использование тегов в фильтрации оповещений:
    • Задайте теги на уровне триггеров, чтобы пометить события разными тегами;
    • Используйте фильтрацию тегов в условиях действий, чтобы получать оповещения только по тем событиям, которые соответствуют данным тегам.
  7. Использование информации, извлечённой из значения элемента данных, в качестве значения тега:
    • Используйте макрос {{ITEM.VALUE<N>}.regsub()} в значении тега;
    • Просматривайте значения тегов в МониторингПроблемы с извлечёнными данными из значения элемента данных.
  8. Улучшение идентификации проблем в оповещениях:
    • Задайте теги на уровне триггера;
    • Используйте макрос {EVENT.TAGS} в оповещении на проблемы;
    • Легче определить, к какому приложению / сервису относится оповещение.
  9. Упрощение задач настройки с использованием тегов на уровне шаблонов:
    • Задайте теги для триггеров на уровне шаблона;
    • Просматривайте эти теги по всем триггерам, созданным из триггеров шаблона.
  10. Создание триггеров с тегами из низкоуровневого обнаружения (LLD):
    • Задайте теги для прототипов триггеров;
    • Используйте макросы LLD в имени тега или его значении;
    • Просматривайте эти теги по всем триггерам, созданным из прототипов триггеров.
  11. Сопоставление услуг, используя теги услуг:
  12. Сопоставление услуг с проблемами, используя теги проблем:
    • В настройках услуг укажите тег проблем, например: target:MySQL;
    • Проблемы с соответствующим тегом будут автоматически соответствовать этой услуге;
    • Состояние услуги поменяется на состояние проблемы с наивысшей важностью.
  13. Подавление проблем, когда узел сети в режиме обслуживания:
  14. Предоставление доступа группам пользователей:
    • Укажите теги в настройках группы пользователей, чтобы разрешить просмотр только проблем с соответствующими тегами.

Настройка

Теги можно указать на отдельной вкладке, например, в настройках триггера:

Поддержка макросов

Встроенные и пользовательские макросы раскрываются во время события. До наступления события эти макросы отображаются в веб-интерфейсе Zabbix нераскрытыми. Макросы низкоуровневых обнаружений (LLD) раскрываются во время процесса обнаружения.

В тегах триггеров можно использовать следующие макросы:

  • макросы {ITEM.VALUE}, {ITEM.LASTVALUE}, {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 массив, содержащий объекты тегов событий или объекты тегов событий о восстановлении

В тегах к шаблонам, узлам сети, элементам данных и веб-сценариям можно использовать следующие макросы:

  • Макросы {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} и {HOST.ID}
  • Макросы {INVENTORY.*}
  • Пользовательские макросы
  • Макросы низкоуровневого обнаружения можно использовать в тегах к прототипам элементов данных

В тегах к прототипам узлов сети можно использовать следующие макросы:

Извлечение подстроки в тегах к триггерам

Поддерживается извлечение подстроки для заполнения имени тега или значения тега при использовании функции макросов - примененяя регулярное выражение к значению, полученному при помощи макросов {ITEM.VALUE}, {ITEM.LASTVALUE} либо макросов низкоуровневого обнаружения. Например:

{{ITEM.VALUE}.regsub(шаблон, вывод)}
       {{ITEM.VALUE}.iregsub(шаблон, вывод)}
       
       {{#LLDMACRO}.regsub(шаблон, вывод)}
       {{#LLDMACRO}.iregsub(шаблон, вывод)}

Имя тега и значение будут обрезаны до 255 символов, если их длина превысит 255 символов после раскрытия макросов.

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

Просмотр тегов событий

Маркировку, если задана, можно увидеть вместе с новыми событиями в:

  • МониторингПроблемы
  • МониторингПроблемыДетали события
  • МониторингПАНЕЛЬ → виджет Проблемы

Отображаются только первые три записи тегов. Если имеется более трех записей тегов, это будет обозначено тремя точками. Если вы проведете курсором мыши над этими тремя точками, во всплывающем окне отобразятся все записи тегов.

Обратите внимание, что на порядок, в котором отображаются теги, влияет фильтрация тегов и опция Приоритет отображения тегов в фильтре МониторингПроблемы либо виджете панели Проблемы.