> Объект правила LLD

Следующие объекты напрямую связаны с discoveryrule API.

Правило LLD

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

Свойство Тип Описание
itemid строка (только чтение) ID правила LLD.
delay
(требуется)
строка Интервал обновления LLD правила. Принимает секунды или единицы времени с суффиксом и с или без одного или нескольких пользовательских интервалов, которые состоят как из гибких интервалов, так и интервалов по расписанию в виде сериализованных строк. Также принимает пользовательские макросы. Гибкие интервалы можно записать в виде двух макросов, разделенных прямой косой чертой. Интервалы разделаются точкой с запятой.
hostid
(требуется)
строка ID узла сети, которому принадлежит правило LLD.
interfaceid
(требуется)
строка ID интерфейса узла сети правила LLD. Используется только правилами LLD на узлах сети.

Опционален для правил LLD Zabbix агента (активный), Zabbix внутренний, Zabbix траппер и монитор баз данных.
key_
(требуется)
строка Ключ правила LLD.
name
(требуется)
строка Имя правила LLD.
type
(требуется)
целое число Тип правила LLD.

Возможные значения:
0 - Zabbix агент;
1 - SNMPv1 агент;
2 - Zabbix траппер;
3 - простая проверка;
4 - SNMPv2 агент;
5 - Zabbix внутренний;
6 - SNMPv3 агент;
7 - Zabbix агент (активный);
10 - внушняя проверка;
11 - монитор баз данных;
12 - IPMI агент;
13 - SSH агент;
14 - TELNET агент;
16 - JMX агент;
18 - Зависимый элемент данных;
19 - HTTP агент;
url
(требуется)
строка Строка URL, требуется для HTTP агент LLD правила. Поддерживаются пользовательские макросы, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}.
allow_traps целое число Поле HTTP агента LLD правила. Позволяет заполнять значение также как и в элементе данных с типом траппер.

0 - (по умолчанию) Не разрешать принимать входящие данные.
1 - Разрешать принимать входящие данные.
authtype целое число Используется только SSH агент и HTTP агент LLD правилами.

Возможные значения метода аутентификации SSH агента:
0 - (по умолчанию) пароль;
1 - публичный ключ.

Возможные значения метода аутентификации HTTP агента:
0 - (по умолчанию) нет
1 - простая
2 - NTLM
description строка Описание правила LLD.
error строка (только чтение) Текст ошибки, если имеются проблемы с обновлением правила LLD.
follow_redirects целое число Поле HTTP агента LLD правила. Следование перенаправлениям при опросе данных.

0 - Не следовать перенаправлениям.
1 - (по умолчанию) Следовать перенаправлениям.
headers объект Поле HTTP агента LLD правила. Объект с HTTP(S) заголовками запроса, где имя заголовка используется ключом, а значение заголовка используется значением.

Пример:
{ "User-Agent": "Zabbix" }
http_proxy строка Поле HTTP агента LLD правила. Строка подключения HTTP(S) прокси.
ipmi_sensor строка Сенсор IPMI. Используется только правилами LLD IPMI.
jmx_endpoint строка Строка пользовательского соединения с JMX агентом.

Значение по умолчанию:
service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi
lifetime строка Период времени после которого элементы данных, которые более не обнаруживаются, будут удалены. Принимает секунды, единицы времени с суффиксом и пользовательские макросы.

По умолчанию: 30d.
master_itemid целое число ID основного элемента данных.
Разрешена рекурсия до 3 зависимых элементов данных и максимальное количество зависимых элементов данных допустимо до 999.
Правило обнаружения не может быть основным элементом данных для другого правила обнаружения.

Требуется для Зависимых элементов данных.
output_format целое число Поле HTTP агента LLD правила. Нужно ли конвертировать ответ в JSON.

0 - (по умолчанию) Записывать сырым.
1 - Конвертировать в JSON.
params строка Дополнительные параметры, которые зависят от типа правила LLD:
- выполняемый скрипт в случае SSH и Telnet правил LLD;
- SQL запрос в случае правила LLD монитора базы данных;
- формула в случае вычисляемых правил LLD.
password строка Пароль для аутентификации. Используется правилами LLD простой проверки, SSH, Telnet, монитором баз данных, JMX и HTTP агентом.
port строка Используемый правилом LLD порт. Используется только SNMP правилами LLD.
post_type целое число Поле HTTP агента LLD правила. Тип тела post данных записываемых в post свойстве.

0 - (по умолчанию) Сырые данные.
2 - JSON данные.
3 - XML данные.
posts строка Поле HTTP агента LLD правила. Данные тела запроса HTTP(S). Используется совместно с post_type.
privatekey строка Имя файла приватного ключа.
publickey строка Имя файла публичного ключа.
query_fields массив Поле HTTP агента LLD правила. Параметры запроса. Массив объектов с парами 'ключ':'значение', где значение может быть пустой строкой.
request_method целое число Поле HTTP агента LLD правила. Тип метода запроса.

0 - (по умолчанию) GET
1 - POST
2 - PUT
3 - HEAD
retrieve_mode целое число Поле HTTP агента LLD правила. Какую часть ответа нужно сохранять.

0 - (по умолчанию) Тело.
1 - Заголовки.
2 - Сохранять как тело, так и заголовки.

Для request_method HEAD разрешенное значение только 1.
snmp_community строка SNMP community. Используется только SNMPv1 и SNMPv2 правилами LLD.
snmp_oid строка SNMP OID.
snmpv3_authpassphrase строка Фраза-пароль аутентификации SNMPv3. Используется только SNMPv3 правилами LLD.
snmpv3_authprotocol целое число Протокол аутентификации SNMPv3. Используется только SNMPv3 правилами LLD.

Возможные значения:
0 - (по умолчанию) MD5;
1 - SHA.
snmpv3_contextname строка Имя контекста SNMPv3. Используется только SNMPv3 правилами LLD.
snmpv3_privpassphrase строка Фраза-пароль безопасности SNMPv3. Используется только SNMPv3 правилами LLD.
snmpv3_privprotocol целое число Протокол безопасности SNMPv3. Используется только SNMPv3 правилами LLD.

Возможные значения:
0 - (по умолчанию) DES;
1 - AES.
snmpv3_securitylevel целое число Уровень безопасности SNMPv3. Используется только SNMPv3 правилами LLD.

Возможные значения:
0 - noAuthNoPriv;
1 - authNoPriv;
2 - authPriv.
snmpv3_securityname строка Имя безопасности SNMPv3. Используется только SNMPv3 правилами LLD.
ssl_cert_file строка Поле HTTP агента LLD правила. Путь к файлу публичного SSL ключа.
ssl_key_file строка Поле HTTP агента LLD правила. Путь к файлу приватного SSL ключа.
ssl_key_password строка Поле HTTP агента LLD правила. Пароль к файлу SSL ключа.
state целое число (только чтение) Статус правила LLD.

Возможные значения:
0 - (по умолчанию) нормальный;
1 - неподдерживается.
status целое число Состояние правила LLD.

Возможные значения:
0 - (по умолчанию) активированное правило LLD;
1 - деактивированное правило LLD.
status_codes строка Поле HTTP агента LLD правила. Диапазоны требуемых HTTP кодов состояний, разделенные запятыми. Также как часть списка разделенного запятыми поддерживаются пользовательские макросы.

Пример: 200,200-{$M},{$M},200-400
templateid строка (только чтение) ID родительского правила LLD из шаблона.
timeout строка Поле HTTP агента LLD правила. Время ожидания запроса данных элемента данных. Поддерживаются пользовательские макросы.

по умолчанию: 3s
максимальное значение: 60s
trapper_hosts строка Разрешенные хосты. Используется траппер и HTTP агент правилами LLD.
username строка Имя пользователя для аутентификации. Используется правилами LLD простой проверкой, SSH, Telnet, монитором баз данных, JMX и HTTP агентом.

Требуется для SSH и Telnet правил LLD.
verify_host целое число Поле HTTP агента LLD правила. Проверка имени узла в URL в полях Common Name или Subject Alternate Name сертификата хоста.

0 - (по умолчанию) Не проверять.
1 - Проверять.
verify_peer целое число Поле HTTP агента LLD правила. Проверка подлинности сертификата хоста.

0 - (по умолчанию) Не проверять.
1 - Проверять.

Фильтр правила LLD

Объект фильтра правила LLD определяет набор условий, которые можно использовать для фильтрации обнаруженных объектов. Этот объект имеет следующие свойства:

Свойство Тип Описание
conditions
(требуется)
массив Набор условий фильтрации, которые используются для фильтрации результатов.
evaltype
(требуется)
целое число Метод вычисления условий фильтрации.

Возможные значения:
0 - и/или;
1 - и;
2 - или;
3 - пользовательское выражение.
eval_formula строка (только чтение) Сгенерированное выражение, которое будет использоваться для вычисления условий фильтрации. Выражение содержит ID, которые являются ссылкой на определенные условия фильтрации по их formulaid полю. Значение eval_formula равно значению formula для фильтров с пользовательским выражением.
formula строка Заданное пользователем выражение, которое используется для вычисления условий фильтров с пользовательским выражением. Выражение должно содержать ID, которые являются ссылкой на определенные условия фильтрации по их formulaid. Эти ID используемые в выражении должны в точности совпадать с выражениями, которые заданы в условиях фильтрации: ни одно условие не должно остаться неиспользуемым или пропущенным.

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

Условие фильтрации правила LLD

Объект условия фильтрации правила LLD определяет индивидуальную проверку, которая проверяет соответствие значения LLD макроса. Этот метод имеет следующие свойства:

Свойство Тип Описание
macro
(требуется)
строка LLD макрос для которого необходимо выполнять проверку.
value
(требуется)
строка Значение с которым необходимо выполнить сравнение.
formulaid строка Произвольный уникальный ID, который используется в качестве ссылки на условие из пользовательского выражения. Может содержать только буквы в верхнем регистре. Этот ID должен быть задан пользователем при изменении условий фильтрации, однако ID будут сгенерированы заново при последующих их запросах.
operator целое число Оператор условия.

Возможные значения:
8 - (по умолчанию) совпадение с регулярным выражением;
9 - не соответствует регулярному выражению.

Чтобы лучше понимать как использовать фильтры с различными типами выражений, смотрите примеры на страницах discoveryrule.get и discoveryrule.create методов.

Путь LLD макроса

Путь LLD макроса имеет следующие свойства:

Свойство Тип Описание
lld_macro
(требуется)
строка LLD макрос.
path
(требуется)
строка Идентификатор для значения, которое будет назначено соответствующему макросу.

Предобработка LLD правила

Объект предобработки LLD правила имеет следующие свойства.

Свойство Тип Описание
type
(требуется)
целое число Тип опции предобработки.

Возможные значения:
5 - Соответствие регулярному выражению;
11 - XML XPath;
12 - JSONPath;
15 - Отсутствие соответствия регулярному выражению;
16 - Проверка на наличие ошибки в JSON;
17 - Проверка на наличие ошибки в XML;
20 - Отбрасывать не изменившееся с периодическим контролем;
23 - Prometheus в JSON;
24 - CSV в JSON.
params
(требуется)
строка Дополнительные параметры, которые используются опцией предобработки. несколько параметров разделяются символом LF (\n).
error_handler
(требуется)
целое число Тип действия, которое используется в случае ошибки на шаге предобработки.

Возможные значения:
0 - Сообщение об ошибке, которое задается Zabbix сервером;
1 - Отбрасывать значение;
2 - Задать пользовательское значение;
3 - Задать пользовательское сообщение об ошибке.
error_handler_params
(требуется)
строка Параметры обработчика ошибок. Используется совместно с error_handler.

Должно быть пустым, если error_handler равно значениям 0 или 1.
Может быть пустым, если error_handler равно значению 2.
Не может быть пустым, если error_handler равно значению 3.

Следующие параметры и обработчики ошибок поддерживаются каждым типом предобработки.

Тип предобработки Имя Параметр 1 Параметр 2 Параметр 3 Поддерживаемые обработчики ошибок
5 Регулярное выражение шаблон1 вывод2 0, 1, 2, 3
11 XML XPath путь3 0, 1, 2, 3
12 JSONPath путь3 0, 1, 2, 3
15 Отсутствие сооветствия регулярному выражению шаблон1 0, 1, 2, 3
16 Проверка на наличие ошибки в JSON путь3 0, 1, 2, 3
17 Проверка на наличие ошибки в XML путь3 0, 1, 2, 3
20 Отбрасывать не изменившееся с периодическим контролем секунды4, 5, 6
23 Prometheus в JSON шаблон5, 7 0, 1, 2, 3
24 CSV в JSON символ2 символ2 0,1 0, 1, 2, 3

1 регулярное выражение
2 строка
3 JSONPath или XML XPath
4 положительное целое число (с поддержкой суффиксов времени, например, 30s, 1m, 2h, 1d)
5 пользовательский макрос
6 LLD макрос
7 шаблон Prometheus в следующем синтаксисе: <имя метрики>{<имя метки>="<значение метки>", ...} == <значение>. Каждый компонент шаблона Prometheus (метрика, имя метки, значение метки и значение метрики) может быть пользовательским макросом.
8 вывод Prometheus в следующем синтаксисе: <имя метки>.