3 Макросы низкоуровневых обнаружений

Обзор

Существует тип макроса, который используется в функции низкоуровневого обнаружения (LLD):

{#МАКРОС} 

Это такой макрос, который используется в правиле LLD и возвращает реальные значения имен файловых систем, сетевых интерфейсов, SNMP OID-ов и т.п.

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

Также эти макросы можно использовать для создания прототипов узлов сети и групп узлов сети в обнаружении виртуальных машин.

Некоторые макросы низкоуровневого обнаружения "заранее добавлены" в функционал низкоуровневого обнаружения в Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Однако, не обязательно придерживаться этих имен при создании пользовательского низкоуровневого правила обнаружения. В этом случае вы можете использовать любое другое LLD имя макроса и ссылаться по этому имени.

Поддерживаемые места

LLD макросы можно использовать:

  • в фильтре правила низкоуровневого обнаружения
  • в прототипах элементов данных в
    • именах
    • параметрах ключей
    • единицах измерения
    • интервалах обновления
    • периодах хранения истории
    • периодах хранения динамики изменений
    • шагах предобработки значений элементов данных
    • SNMP OID'ах
    • полях IPMI датчиков
    • формулах вычисляемых элементов данных
    • SSH и Telnet скриптах
    • SQL запросах монитора баз данных
    • полях endpoint JMX элементов данных
    • описаниях
    • шагах предобработки значений элементов данных
    • поле URL HTTP агента
    • поле HTTP поля запроса HTTP агента
    • поле запроса тела HTTP агента
    • поле требуемых кодов состояний HTTP агента
    • полях ключей и значений заголовков HTTP агента
    • поле имени пользователя аутентификации HTTP агента
    • поле пароля аутентификации HTTP агента
    • поле HTTP прокси HTTP агента
    • поле файла SSL сертификата HTTP агента
    • поле файла SSL ключа HTTP агента
    • поле пароля к SSL ключу HTTP агента
    • поле HTTP времени ожидания HTTP агента
  • в прототипах триггеров в
    • именах
    • оперативных данных
    • выражениях (только в константах и параметрах функций)
    • URL'ах
    • описаниях
    • именах тегов событий и значениях (за исключением параметров функций макросов)
  • в прототипах графиков в
    • именах
  • в прототипах узлов сети в
    • именах
    • видимых именах
    • именах прототипов групп узлов сети
    • (смотри полный список)

Во всех перечисленных местах можно использовать LLD макросы в контекстах пользовательских макросов.

Использование функций макросов

Функции макросов поддерживаются с макросами низкоуровневого обнаружения (за исключением фильтра правила низкоуровневого обнаружения), которые позволяют извлекать некоторую часть значения макроса используя регулярное выражение.

Например, вы можете захотеть извлечь имя клиента и номер интерфейса из следующего макроса LLD для назначения тегов событий:

{#IFALIAS}=имяклиента_1

Чтобы это сделать, можно использовать функцию макроса regsub с макросом в поле значения тега событий прототипа триггеров:

Для получения более подробных сведений о синтаксисе функций макросов смотрите: Функции макросов

Функции макросов в макросах низкоуровневого обнаружения поддерживаются начиная с Zabbix 4.0.