Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

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

Обзор

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

{#МАКРОС} 

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

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

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

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

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

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

  • в фильтре правила низкоуровневого обнаружения
  • в прототипах элементов данных в
    • именах
    • параметрах ключей
    • единицах измерения
    • интервалах обновления
    • периодах хранения истории
    • периодах хранения динамики изменений
    • SNMP OID'ах
    • полях IPMI датчиков
    • формулах вычисляемых элементов данных
    • SSH и Telnet скриптах
    • SQL запросах монитора баз данных
    • полях endpoint JMX элементов данных
    • описаниях
    • также в начиная с Zabbix 4.0:
      • шагах предобработки значений элементов данных
      • поле 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.

Footnotes

1 In the fields marked with 1 a single macro has to fill the whole field. Multiple macros in a field or macros mixed with text are not supported.