3 Низкоуровневое обнаружение (LLD)

Обзор

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

Пользователь может определить собственные типы обнаружения при условии соблюдения определенного JSON-протокола.

Общая архитектура процесса обнаружения выглядит следующим образом.

Сначала пользователь создает правило обнаружения в Сбор данных > Шаблоны, в колонке Обнаружение. Правило обнаружения состоит из (1) элемента данных, который обнаруживает необходимые сущности (например, файловые системы или сетевые интерфейсы), и (2) прототипов элементов данных, триггеров и графиков, которые должны быть созданы на основе значения этого элемента данных.

Элемент данных, который обнаруживает необходимые сущности, похож на обычный элемент данных, встречающийся в других местах: сервер запрашивает у Zabbix агент значение этого элемента данных (или у другого источника, в зависимости от того, какой тип задан для элемента данных), агент отвечает текстовым значением. Разница в том, что значение, возвращаемое агентом, должно содержать список обнаруженных сущностей в формате JSON. Хотя детали этого формата важны только для разработчиков пользовательских проверок обнаружения, необходимо знать, что возвращаемое значение содержит список пар макрос → значение. Например, элемент данных "net.if.discovery" может вернуть две пары: "{#IFNAME}" → "lo" и "{#IFNAME}" → "eth0".

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

Когда сервер получает значение для элемента данных обнаружения, он просматривает пары макрос → значение и для каждой пары генерирует реальные элементы данных, триггеры и графики на основе их прототипов. В приведенном выше примере с "net.if.discovery" сервер сгенерирует один набор элементов данных, триггеров и графиков для loopback-интерфейса "lo" и другой набор для интерфейса "eth0".

Обратите внимание, что начиная с Zabbix 4.2 формат JSON, возвращаемого правилами обнаружения низкого уровня, был изменен. Больше не ожидается, что JSON будет содержать объект "data". Теперь обнаружение низкого уровня принимает обычный JSON, содержащий массив, чтобы поддерживать новые возможности, такие как предобработка значений элементов данных и пользовательские пути к значениям макросов обнаружения низкого уровня в JSON-документе.

Встроенные ключи обнаружения были обновлены и теперь возвращают массив строк LLD в корне JSON-документа. Zabbix автоматически извлечет макрос и значение, если поле массива использует синтаксис {#MACRO} в качестве ключа. Любые новые встроенные проверки обнаружения будут использовать новый синтаксис без элементов "data". При обработке значения обнаружения низкого уровня сначала определяется корень (массив по $. или $.data).

Хотя элемент "data" был удален из всех встроенных элементов данных, связанных с обнаружением, для обратной совместимости Zabbix по-прежнему будет принимать JSON-нотацию с элементом "data", хотя ее использование не рекомендуется. Если JSON содержит объект только с одним элементом массива "data", то содержимое этого элемента будет автоматически извлечено с использованием JSONPath $.data. Обнаружение низкого уровня теперь принимает необязательные пользовательские макросы LLD с пользовательским путем, заданным в синтаксисе JSONPath.

В результате описанных выше изменений более новые агенты больше не смогут работать со старым сервером Zabbix.

См. также: Обнаруженные сущности

Настройка низкоуровневого обнаружения

Мы проиллюстрируем низкоуровневое обнаружение на примере обнаружения файловых систем.

Чтобы настроить обнаружение, выполните следующие действия:

  • Перейдите в: Сбор данных > Шаблоны или Узлы сети.
  • Нажмите Обнаружение в строке соответствующего шаблона/узла сети.

  • Нажмите Создать правило обнаружения в правом верхнем углу экрана.
  • Заполните форму правила обнаружения необходимыми данными.

Правило обнаружения

Форма правила обнаружения содержит пять вкладок, которые слева направо отражают поток данных в процессе обнаружения:

  • Правило обнаружения — задает, прежде всего, встроенный элемент данных или пользовательский скрипт для получения данных обнаружения.
  • Предобработка — применяет предобработку к обнаруженным данным.
  • LLD-макросы — позволяет извлекать значения макросов для использования в обнаруженных элементах данных, триггерах и т. д.
  • Фильтры — позволяет фильтровать обнаруженные значения.
  • Переопределения — позволяет изменять элементы данных, триггеры, графики или прототипы узлов сети при применении к определенным обнаруженным объектам.

Вкладка Правило обнаружения содержит ключ элемента данных, используемый для обнаружения (а также некоторые общие атрибуты правила обнаружения):

Все обязательные поля ввода отмечены красной звездочкой.

Parameter Description
Name Имя правила обнаружения.
Type Тип проверки для выполнения обнаружения.
В этом примере используется тип элемента данных Zabbix агент.
Правило обнаружения также может быть зависимым элементом данных, зависящим от обычного элемента данных. Оно не может зависеть от другого правила обнаружения. Для зависимого элемента данных выберите соответствующий тип (Зависимый элемент данных) и укажите основной элемент данных в поле 'Master item'. Основной элемент данных должен существовать.
Key Введите ключ элемента данных обнаружения (до 2048 символов).
Например, можно использовать встроенный ключ элемента данных "vfs.fs.discovery", чтобы вернуть JSON-строку со списком файловых систем, имеющихся на компьютере, их типами и параметрами монтирования.
Обратите внимание, что другим вариантом обнаружения файловых систем является использование результатов обнаружения по ключу агента "vfs.fs.get" (см. пример).
Update interval Это поле задает, как часто Zabbix выполняет обнаружение. На начальном этапе, когда вы только настраиваете обнаружение файловых систем, можно установить небольшой интервал, но когда вы убедитесь, что все работает, можно установить 30 минут или больше, поскольку файловые системы обычно меняются не очень часто.
Поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d.
Поддерживаются пользовательские макросы.
Примечание: Интервал обновления может быть установлен в '0' только при наличии пользовательских интервалов с ненулевым значением. Если установлено '0' и существует пользовательский интервал (гибкий или по расписанию) с ненулевым значением, элемент данных будет опрашиваться в течение действия пользовательского интервала.
Новые правила обнаружения будут проверены в течение 60 секунд после создания, если только для них не задано расписание или гибкий интервал обновления, а Update interval не установлен в 0.
Обратите внимание, что для существующего правила обнаружения обнаружение можно выполнить немедленно, нажав кнопку Execute now button.
Custom intervals Можно создать пользовательские правила для проверки элемента данных:
Flexible — создать исключение для Update interval (интервал с другой частотой)
Scheduling — создать пользовательское расписание опроса.
Подробную информацию см. в разделе Пользовательские интервалы.
Timeout Задайте тайм-аут проверки обнаружения. Выберите вариант тайм-аута:
Global — используется тайм-аут прокси/глобальный тайм-аут (отображается в неактивном поле Timeout);
Override — используется пользовательский тайм-аут (задается в поле Timeout; допустимый диапазон: 1 - 600s). Поддерживаются суффиксы времени, например 30s, 1m, а также пользовательские макросы.
Нажатие на ссылку Timeouts позволяет настроить тайм-ауты прокси или глобальные тайм-ауты (если прокси не используется). Обратите внимание, что ссылка Timeouts видна только пользователям типа Super admin с правами на разделы веб-интерфейса Administration > General или Administration > Proxies.
Delete lost resources Укажите, через какое время обнаруженная сущность будет удалена после того, как ее статус обнаружения станет "Not discovered anymore":
Never — не удалять;
Immediately — удалить немедленно;
After — удалить по истечении указанного периода времени. Значение должно быть больше значения Disable lost resources.
Поддерживаются суффиксы времени, например 2h, 1d.
Поддерживаются пользовательские макросы.
Примечание: Использовать "Immediately" не рекомендуется, поскольку даже ошибочное изменение фильтра может привести к удалению сущности вместе со всеми историческими данными.
Обратите внимание, что ресурсы, отключенные вручную, не будут удалены низкоуровневым обнаружением.
Disable lost resources Укажите, через какое время обнаруженная сущность будет отключена после того, как ее статус обнаружения станет "Not discovered anymore":
Never — не отключать;
Immediately — отключить немедленно;
After — отключить по истечении указанного периода времени. Значение должно быть больше интервала обновления правила обнаружения.
Обратите внимание, что автоматически отключенные ресурсы будут снова включены, если будут повторно обнаружены низкоуровневым обнаружением. Ресурсы, отключенные вручную, не будут снова включены при повторном обнаружении.
Это поле не отображается, если Delete lost resources установлено в "Immediately".
Поддерживаются суффиксы времени, например 2h, 1d.
Поддерживаются пользовательские макросы.
Description Введите описание.
Enabled Если установлен флажок, правило будет обрабатываться.

История правила обнаружения не сохраняется.

Предобработка

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

См. также:

Type
Transformation Описание
Text
Regular expression Сопоставить полученное значение с регулярным выражением <pattern> и заменить значение извлечённым <output>. Регулярное выражение поддерживает извлечение максимум 10 захваченных групп с помощью последовательности \N.
Параметры:
pattern - регулярное выражение
output - шаблон форматирования вывода. Управляющая последовательность \N (где N=1…9) заменяется N-й совпавшей группой. Управляющая последовательность \0 заменяется совпавшим текстом.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Replace Найти строку поиска и заменить её другой строкой (или ничем). Все вхождения строки поиска будут заменены.
Параметры:
search string - строка для поиска и замены, с учётом регистра (обязательно)
replacement - строка, на которую будет заменена строка поиска. Строка замены также может быть пустой, что фактически позволяет удалить найденную строку поиска.
Можно использовать управляющие последовательности для поиска или замены переводов строк, возврата каретки, табуляции и пробелов: "\n \r \t \s"; обратную косую черту можно экранировать как "\\"; управляющие последовательности можно экранировать как "\\n". Экранирование переводов строк, возврата каретки и табуляции выполняется автоматически во время обнаружения низкого уровня.
Structured data
JSONPath Извлечь значение или фрагмент из данных JSON с помощью функциональности JSONPath.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
XML XPath Извлечь значение или фрагмент из данных XML с помощью функциональности XPath.
Чтобы этот вариант работал, сервер Zabbix должен быть скомпилирован с поддержкой libxml.
Примеры:
number(/document/item/value) извлечёт 10 из <document><item><value>10</value></item></document>
number(/document/item/@attribute) извлечёт 10 из <document><item attribute="10"></item></document>
/document/item извлечёт <item><value>10</value></item> из <document><item><value>10</value></item></document>
Обратите внимание, что пространства имён не поддерживаются.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
CSV to JSON Преобразовать данные CSV-файла в формат JSON.
Подробнее см.: Предобработка CSV в JSON.
XML to JSON Преобразовать данные в формате XML в JSON.
Подробнее см.: Правила сериализации.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
SNMP
SNMP walk value Извлечь значение по указанному имени OID/MIB и применить параметры форматирования:
Unchanged - вернуть Hex-STRING как неэкранированную шестнадцатеричную строку (обратите внимание, что подсказки отображения всё равно применяются);
UTF-8 from Hex-STRING - преобразовать Hex-STRING в строку UTF-8;
MAC from Hex-STRING - преобразовать Hex-STRING в строку MAC-адреса (в которой ' ' будет заменён на ':');
Integer from BITS - преобразовать первые 8 байт битовой строки, представленной как последовательность шестнадцатеричных символов (например, "1A 2B 3C 4D"), в 64-битное беззнаковое целое число. В битовых строках длиннее 8 байт последующие байты будут проигнорированы.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
SNMP walk to JSON Преобразовать значения SNMP в JSON. Укажите имя поля в JSON и соответствующий путь SNMP OID. Значения полей будут заполняться значениями из указанного пути SNMP OID.
Этот шаг предобработки можно использовать для обнаружения SNMP OID.
Доступны параметры форматирования значений, аналогичные шагу SNMP walk value.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
SNMP get value Применить параметры форматирования к значению, полученному через SNMP get:
UTF-8 from Hex-STRING - преобразовать Hex-STRING в строку UTF-8;
MAC from Hex-STRING - преобразовать Hex-STRING в строку MAC-адреса (в которой ' ' будет заменён на ':');
Integer from BITS - преобразовать первые 8 байт битовой строки, представленной как последовательность шестнадцатеричных символов (например, "1A 2B 3C 4D"), в 64-битное беззнаковое целое число. В битовых строках длиннее 8 байт последующие байты будут проигнорированы.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Custom scripts
JavaScript Введите код JavaScript в модальном редакторе, который открывается при щелчке в поле параметра или по значку карандаша рядом с ним.
Обратите внимание, что доступная длина JavaScript зависит от используемой базы данных.
Подробнее см.: Предобработка Javascript
Validation
Does not match regular expression Укажите регулярное выражение, которому значение не должно соответствовать.
Например: Error:(.*?)\.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Check for error in JSON Проверить наличие сообщения об ошибке уровня приложения, расположенного по JSONPath. Если проверка успешна и сообщение не пустое, обработка останавливается; в противном случае обработка продолжается со значением, которое было до этого шага предобработки. Обратите внимание, что такие ошибки внешних сервисов показываются пользователю как есть, без добавления информации о шаге предобработки.
Например: $.errors. Если получен JSON вида {"errors":"e1"}, следующий шаг предобработки выполнен не будет.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Check for error in XML Проверить наличие сообщения об ошибке уровня приложения, расположенного по XPath. Если проверка успешна и сообщение не пустое, обработка останавливается; в противном случае обработка продолжается со значением, которое было до этого шага предобработки. Обратите внимание, что такие ошибки внешних сервисов показываются пользователю как есть, без добавления информации о шаге предобработки.
При невозможности разобрать некорректный XML ошибка выведена не будет.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Matches regular expression Укажите регулярное выражение, которому значение должно соответствовать.
Если установить флажок Custom on fail, можно указать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Throttling
Discard unchanged with heartbeat Отбросить значение, если оно не изменялось в течение заданного периода времени (в секундах).
Для указания секунд поддерживаются положительные целые значения (минимум — 1 секунда). В этом поле можно использовать суффиксы времени (например, 30s, 1m, 2h, 1d). В этом поле можно использовать пользовательские макросы и макросы обнаружения низкого уровня.
Для элемента данных обнаружения можно указать только один вариант ограничения частоты.
Например: 1m. Если в это правило дважды передан одинаковый текст в течение 60 секунд, он будет отброшен.
Примечание: изменение прототипов элементов данных не сбрасывает ограничение частоты. Ограничение частоты сбрасывается только при изменении шагов предобработки.
Prometheus
Prometheus to JSON Преобразовать требуемые метрики Prometheus в JSON.
Подробнее см. Проверки Prometheus.

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

Пользовательские макросы

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

Пользовательские макросы полезны в случаях, когда возвращаемый JSON уже не содержит определённых требуемых макросов. Так, например:

  • Встроенный ключ vfs.fs.discovery для обнаружения файловых систем возвращает JSON с некоторыми предопределёнными макросами LLD, такими как {#FSNAME}, {#FSTYPE}. Эти макросы можно использовать непосредственно в прототипах элементов данных и триггеров (см. последующие разделы страницы); определять пользовательские макросы не требуется;
  • Элемент данных агента vfs.fs.get также возвращает JSON с данными файловых систем, но без каких-либо предопределённых макросов LLD. В этом случае вы можете определить макросы самостоятельно и сопоставить их со значениями в JSON с помощью JSONPath:

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

Параметр Описание
Макрос LLD Имя макроса низкоуровневого обнаружения с использованием следующего синтаксиса: {#MACRO}.
JSONPath Путь, используемый для извлечения значения макроса LLD из строки LLD с использованием синтаксиса JSONPath.
Значения, извлечённые из возвращаемого JSON, используются для замены макросов LLD в полях прототипов элементов данных, триггеров и т. д.
JSONPath можно указывать с использованием точечной нотации или нотации в квадратных скобках. Нотацию в квадратных скобках следует использовать в случае наличия специальных символов и Unicode, например $['unicode + special chars #1']['unicode + special chars #2'].

Например, $.foo извлечёт "bar" и "baz" из этого JSON: [{"foo":"bar"}, {"foo":"baz"}]
Обратите внимание, что $.foo также извлечёт "bar" и "baz" из этого JSON: {"data":[{"foo":"bar"}, {"foo":"baz"}]}, поскольку одиночный объект "data" обрабатывается автоматически (для обратной совместимости с реализацией низкоуровневого обнаружения в версиях Zabbix до 4.2).

Фильтр

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

Параметр Описание
Тип вычисления Доступны следующие варианты вычисления фильтров:
И - должны пройти все фильтры;
Или - достаточно, чтобы прошел один фильтр;
И/Или - использует И для разных имен макросов и Или для одинаковых имен макросов;
Пользовательское выражение - предоставляет возможность задать пользовательское вычисление фильтров. Формула должна включать все фильтры в списке. Ограничено 255 символами.
Фильтры Доступны следующие операторы условий фильтра: совпадает, не совпадает, существует, не существует.
Операторы совпадает и не совпадает ожидают Perl Compatible Regular Expression (PCRE). Например, если вас интересуют только файловые системы C:, D: и E:, вы можете указать {#FSNAME} в поле "Макрос", а регулярное выражение "\C|\D|\E" — в поле "Регулярное выражение". Фильтрация также возможна по типам файловых систем с использованием макроса {#FSTYPE} (например, "\ext|\reiserfs") и по типам дисков с использованием макроса {#FSDRIVETYPE} (например, "fixed"; поддерживается только агентом Windows).
В поле "Регулярное выражение" можно ввести регулярное выражение или сослаться на глобальное регулярное выражение.
Чтобы проверить регулярное выражение, можно использовать "grep -E", например: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '
ext|^reiserfs' || echo "SKIP: $f"; done````

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

Будет показано предупреждение, если отсутствие макроса влияет на результат выражения. Например, если {#B} отсутствует в:
{#A} matches 1 and {#B} matches 2 - будет выдано предупреждение
{#A} matches 1 or {#B} matches 2 - предупреждения не будет

Ошибка или опечатка в регулярном выражении, используемом в правиле LLD (например, некорректное регулярное выражение "File systems for discovery"), может привести к удалению тысяч элементов конфигурации, исторических значений и событий для множества узлов сети.

База данных Zabbix в MySQL должна быть создана с учетом регистра, чтобы имена файловых систем, различающиеся только регистром, обнаруживались корректно.

Переопределение

Вкладка Переопределения позволяет задавать правила для изменения списка прототипов элементов данных, триггеров, графиков, узлов сети и обнаружения либо их атрибутов для обнаруженных объектов, соответствующих заданным критериям.

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

Все обязательные параметры отмечены красными звездочками.

Parameter Description
Name Уникальное (в пределах правила LLD) имя переопределения.
If filter matches Определяет, следует ли обрабатывать следующие переопределения при выполнении условий фильтра:
Continue overrides — последующие переопределения будут обработаны.
Stop processing — операции из предыдущих (если есть) и данного переопределения будут выполнены, последующие переопределения будут проигнорированы для совпавших строк LLD.
Filters Определяет, к каким обнаруженным сущностям должно применяться переопределение. Фильтры переопределения обрабатываются после фильтров правила обнаружения и имеют ту же функциональность.
Operations Операции переопределения отображаются со следующими сведениями:
Condition — тип объекта и условие, которому должно соответствовать имя объекта; например: Прототип триггера не равно Disk space is low (used > 50%).
Actions — отображаются ссылки для редактирования и удаления операции.

Настройка операции

Чтобы настроить параметры новой операции, нажмите в блоке Operations. Чтобы изменить существующую операцию, нажмите рядом с операцией. Откроется всплывающее окно, в котором можно изменить параметры операции.

Parameter Description
Object Доступно пять типов объектов:
Прототип элемента данных
Прототип триггера
Прототип графика
Прототип узла сети
Прототип обнаружения
Condition Позволяет фильтровать сущности, к которым должна применяться операция.
Operator Поддерживаемые операторы:
equals — применить к этому прототипу
does not equal — применить ко всем прототипам, кроме этого
contains — применить, если имя прототипа содержит эту строку
does not contain — применить, если имя прототипа не содержит эту строку
matches — применить, если имя прототипа соответствует регулярному выражению
does not match — применить, если имя прототипа не соответствует регулярному выражению
Pattern Регулярное выражение или строка для поиска.
Object: Item prototype
Create enabled Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа элемента данных:
Yes — элемент данных будет добавлен во включенном состоянии.
No — элемент данных будет добавлен к обнаруженной сущности, но в отключенном состоянии.
Discover Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа элемента данных:
Yes — элемент данных будет добавлен.
No — элемент данных не будет добавлен.
Update interval Если флажок установлен, появятся две опции, позволяющие задать другой интервал для элемента данных:
Delay — интервал обновления элемента данных. Поддерживаются пользовательские макросы и суффиксы времени (например, 30s, 1m, 2h, 1d). Должен быть установлен в 0, если используется Custom interval.
Custom interval — нажмите , чтобы указать гибкие интервалы/интервалы по расписанию. Подробную информацию смотрите в разделе Пользовательские интервалы.
History Если флажок установлен, появятся переключатели, позволяющие задать другой период хранения истории для элемента данных:
Do not store — если выбрано, история не будет храниться.
Store up to — если выбрано, справа появится поле ввода для указания периода хранения. Поддерживаются пользовательские макросы и макросы LLD.
Trends Если флажок установлен, появятся переключатели, позволяющие задать другой период хранения трендов для элемента данных:
Do not store — если выбрано, тренды не будут храниться.
Store up to — если выбрано, справа появится поле ввода для указания периода хранения. Поддерживаются пользовательские макросы и макросы LLD.
Tags Если флажок установлен, появится новый блок, позволяющий указать пары тег-значение.
Эти теги будут добавлены к тегам, указанным в прототипе элемента данных, даже если имена тегов совпадают.
Object: Trigger prototype
Create enabled Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа триггера:
Yes — триггер будет добавлен во включенном состоянии.
No — триггер будет добавлен к обнаруженной сущности, но в отключенном состоянии.
Discover Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа триггера:
Yes — триггер будет добавлен.
No — триггер не будет добавлен.
Severity Если флажок установлен, появятся кнопки важности триггера, позволяющие изменить важность триггера.
Tags Если флажок установлен, появится новый блок, позволяющий указать пары тег-значение.
Эти теги будут добавлены к тегам, указанным в прототипе триггера, даже если имена тегов совпадают.
Object: Graph prototype
Discover Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа графика:
Yes — график будет добавлен.
No — график не будет добавлен.
Object: Host prototype
Create enabled Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа узла сети:
Yes — узел сети будет создан во включенном состоянии.
No — узел сети будет создан в отключенном состоянии.
Discover Если флажок установлен, появятся переключатели, позволяющие переопределить исходные настройки прототипа узла сети:
Yes — узел сети будет обнаружен.
No — узел сети не будет обнаружен.
Link templates Если флажок установлен, появится поле ввода для указания шаблонов. Начните вводить имя шаблона или нажмите Select рядом с полем и выберите шаблоны из списка во всплывающем окне.
Шаблоны из этого переопределения добавляются ко всем шаблонам, уже привязанным к прототипу узла сети.
Tags Если флажок установлен, появится новый блок, позволяющий указать пары тег-значение.
Эти теги будут добавлены к тегам, указанным в прототипе узла сети, даже если имена тегов совпадают.
Host inventory Если флажок установлен, появятся переключатели, позволяющие выбрать другой режим инвентаризации для прототипа узла сети:
Disabled — не заполнять инвентаризацию узла сети
Manual — указывать сведения вручную
Automated — автоматически заполнять данные инвентаризации узла сети на основе собранных метрик.

Кнопки формы

Кнопки в нижней части формы позволяют выполнять несколько операций.

Добавить правило обнаружения. Эта кнопка доступна только для новых правил обнаружения.
Обновить свойства правила обнаружения. Эта кнопка доступна только для существующих правил обнаружения.
Создать другое правило обнаружения на основе свойств текущего правила обнаружения.
Немедленно выполнить обнаружение на основе правила обнаружения. Правило обнаружения уже должно существовать. См. подробнее.
Обратите внимание, что при немедленном выполнении обнаружения кэш конфигурации не обновляется, поэтому результат не будет отражать самые последние изменения в конфигурации правила обнаружения.
Проверить конфигурацию правила обнаружения. Используйте эту кнопку, чтобы проверить настройки конфигурации (например, доступность соединения и корректность параметров) без постоянного применения каких-либо изменений.
Удалить правило обнаружения.
Отменить редактирование свойств правила обнаружения.

Обнаруженные сущности

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

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

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

Потерянные ресурсы могут быть автоматически отключены в зависимости от значения параметра Disable lost resources. Это влияет на потерянные узлы сети, элементы данных и триггеры.

Потерянные ресурсы могут быть автоматически удалены в зависимости от значения параметра Delete lost resources. Это влияет на потерянные узлы сети, группы узлов сети, элементы данных, триггеры и графики.

Когда обнаруженные сущности получают статус «Больше не обнаруживаются», в списке сущностей отображается индикатор времени жизни. Наведите на него указатель мыши, и будет показано сообщение с подробностями о его состоянии.

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

Сущности, содержащие другие сущности, помеченные для удаления, не будут обновляться при изменении на уровне правила обнаружения. Например, триггеры на основе LLD не будут обновляться, если они содержат элементы данных, помеченные для удаления.

Другие типы обнаружения

Более подробная информация и инструкции по другим типам встроенного обнаружения доступны в следующих разделах:

Более подробную информацию о формате JSON для элементов данных обнаружения и пример реализации собственного средства обнаружения файловых систем в виде Perl-скрипта см. в разделе создание пользовательских правил LLD.