Следующие объекты напрямую связаны с discoveryrule
API.
Объект низкоуровневого правила обнаружения имеет следующие свойства.
Свойство | Тип | Описание |
---|---|---|
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 определяет набор условий, которые можно использовать для фильтрации обнаруженных объектов. Этот объект имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
conditions (требуется) |
массив | Набор условий фильтрации, которые используются для фильтрации результатов. |
evaltype (требуется) |
целое число | Метод вычисления условий фильтрации. Возможные значения: 0 - и/или; 1 - и; 2 - или; 3 - пользовательское выражение. |
eval_formula | строка | (только чтение) Сгенерированное выражение, которое будет использоваться для вычисления условий фильтрации. Выражение содержит ID, которые являются ссылкой на определенные условия фильтрации по их formulaid полю. Значение eval_formula равно значению formula для фильтров с пользовательским выражением. |
formula | строка | Заданное пользователем выражение, которое используется для вычисления условий фильтров с пользовательским выражением. Выражение должно содержать ID, которые являются ссылкой на определенные условия фильтрации по их formulaid . Эти ID используемые в выражении должны в точности совпадать с выражениями, которые заданы в условиях фильтрации: ни одно условие не должно остаться неиспользуемым или пропущенным.Требуется для фильтров с пользовательским выражением. |
Объект условия фильтрации правила LLD определяет индивидуальную проверку, которая проверяет соответствие значения LLD макроса. Этот метод имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
macro (требуется) |
строка | LLD макрос для которого необходимо выполнять проверку. |
value (требуется) |
строка | Значение с которым необходимо выполнить сравнение. |
formulaid | строка | Произвольный уникальный ID, который используется в качестве ссылки на условие из пользовательского выражения. Может содержать только буквы в верхнем регистре. Этот ID должен быть задан пользователем при изменении условий фильтрации, однако ID будут сгенерированы заново при последующих их запросах. |
operator | целое число | Оператор условия. Возможные значения: 8 - (по умолчанию) совпадение с регулярным выражением; 9 - не соответствует регулярному выражению. |
Чтобы лучше понимать как использовать фильтры с различными типами выражений, смотрите примеры на страницах discoveryrule.get и discoveryrule.create методов.
Путь LLD макроса имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
lld_macro (требуется) |
строка | LLD макрос. |
path (требуется) |
строка | Идентификатор для значения, которое будет назначено соответствующему макросу. |
Объект предобработки LLD правила имеет следующие свойства.
Свойство | Тип | Описание |
---|---|---|
type (требуется) |
целое число | Тип опции предобработки. Возможные значения: 5 - Соответствие регулярному выражению; 12 - JSONPath; 15 - Отсутствие соответствия регулярному выражению; 16 - Проверка на наличие ошибки в JSON; 20 - Отбрасывать не изменившееся с периодическим контролем; 23 - Prometheus в 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 | Поддерживаемые обработчики ошибок |
---|---|---|---|---|
5 | Регулярное выражение | шаблон1 | вывод2 | 0, 1, 2, 3 |
12 | JSONPath | путь3 | 0, 1, 2, 3 | |
15 | Отсутствие сооветствия регулярному выражению | шаблон1 | 0, 1, 2, 3 | |
16 | Проверка на наличие ошибки в JSON | путь3 | ||
20 | Отбрасывать не изменившееся с периодическим контролем | секунды4, 5, 6 | ||
23 | Prometheus в JSON | шаблон5, 7 | 0, 1, 2, 3 |
1 регулярное выражение
2 строка
3 JSONPath или XML XPath
4 положительное целое число (с поддержкой суффиксов времени, например, 30s, 1m, 2h, 1d)
5 пользовательский макрос
6 LLD макрос
7 шаблон Prometheus в следующем синтаксисе: <имя метрики>{<имя метки>="<значение метки>", ...} == <значение>
. Каждый компонент шаблона Prometheus (метрика, имя метки, значение метки и значение метрики) может быть пользовательским макросом.
8 вывод Prometheus в следующем синтаксисе: <имя метки>
.