Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

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

Обзор

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

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

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

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

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

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

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

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

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

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

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

  1. Маркировка событий триггеров в веб-интерфейсе
    • Добавьте теги на уровне триггера;
    • Смотрите как все проблемы триггеров маркируются этими тегами в МониторингПроблемы.
  2. Маркировка всех проблем унаследованных с шаблона
    • Добавьте тег на уровне шаблона, например, 'App=MySQL';
    • Смотрите как проблемы узлов сети, которые созданы триггерами с этого шаблона, маркируются этими тегами в МониторингПроблемы.
  3. Маркировка всех проблем узла сети
    • Добавьте тег на уровне узла сети, например, 'Service=JIRA';
    • Смотрите как все проблемы триггеров этого узла сети маркируются этими тегами в МониторингПроблемы.
  4. Группировка связанных элементов данных
    • Добавьте тег на уровне элемента данных, например, 'MySQL';
    • Просматривайте все элементы данных с тегом, которые промаркированы 'MySQL' в Последние данные, используя фильтрацию тегов
  5. Определите проблемы в файле журнала и закрывайте их независимо
    • Добавьте теги к триггеру журнала, которые идентифицируют события с использованием извлечения значения при помощи {{ITEM.VALUE<N>}.regsub()} макроса;
    • В настройках триггера, укажите режим множественной генерации событий о проблемах;
    • В настройках триггера используйте корреляцию событий: выберите опцию что событие ОК закрывает только совпадающие события и выберите тег для поиска совпадений;
    • Смотрите события о проблемах, которые создаются с тегом и закрываются независимо.
  6. Использование тегов в фильтрации оповещений
    • Добавьте теги на уровне триггеров, чтобы промаркировать события разными тегами;
    • Используйте фильтрацию тегов в условиях действий, чтобы получать оповещения только по тем событиям, которые соответствуют данным тегам.
  7. Использование информации, извлеченной из значения элемента данных, значением тега
    • Используйте {{ITEM.VALUE<N>}.regsub()} макрос в значении тега;
    • Просматривайте значения тегов в МониторингПроблемы с извлеченными данными из значения элемента данных.
  8. Улучшение идентификации проблем в оповещениях
    • Добавьте теги на уровне триггера;
    • Используйте {EVENT.TAGS} макрос в оповещении на проблемы;
    • Легче определить какое оповещение принадлежит какому приложению / сервису.
  9. Упрощение задач настройки с использованием тегов на уровне шаблонов
    • Добавьте теги триггерам на уровне шаблона;
    • Просматривайте эти теги по всем триггерам, созданным с триггеров из шаблона.
  10. Создание триггеров с тегами из низкоуровневого обнаружения (LLD)
    • Задайте теги прототипам триггеров;
    • Используйте макросы 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 символов после раскрытия макросов.

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

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

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

  • МониторингПроблемы
  • МониторингПроблемыДетали события
  • МониторингПАНЕЛЬ → виджет Проблемы (во всплывающем окне, которое появляется при наведении курсора мыши на имя проблемы)

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

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