Следующие объекты напрямую связаны с API правил обнаружения (discoveryrule).
Объект правила низкоуровневого обнаружения (LLD) имеет следующие свойства.
| Свойство | Тип | Описание | 
|---|---|---|
| itemid | string | (только для чтения) ID правила LLD. | 
| delay (обязательно) | string | Интервал обновления правила LLD. Принимает секунды или единицу времени с суффиксом, а также с одним или несколькими настраиваемыми интервалами, которые состоят из гибких интервалов и интервалов расписания в виде сериализованных строк. Также поддерживает пользовательские макросы. Гибкие интервалы могут быть записаны в виде двух макросов, разделенных косой чертой. Интервалы разделяются точкой с запятой. Необязательно для Zabbix trapper, зависимых элементов данных и для Zabbix агента (активного) с ключом mqtt.get. | 
| hostid (обязательно) | string | ID узла сети, к которому принадлежит правило LLD. | 
| interfaceid (обязательно) | string | ID интерфейса узла сети для правила LLD. Используется только для правил LLD узла сети. Не требуется для Zabbix агента (активный), Zabbix internal, Zabbix trapper, зависимых элементов данных, мониторинга базы данных и скриптовых правил LLD. Необязательно для HTTP агента LLD. | 
| key_ (обязательно) | string | Ключ правила LLD. | 
| name (обязательно) | string | Имя правила LLD. | 
| type (обязательно) | integer | Тип правила LLD. Возможные значения: 0 - Zabbix агент; 2 - Zabbix trapper; 3 - простая проверка; 5 - Zabbix internal; 7 - Zabbix агент (активный); 10 - внешняя проверка; 11 - мониторинг базы данных; 12 - IPMI агент; 13 - SSH агент; 14 - TELNET агент; 16 - JMX агент; 18 - зависимый элемент данных; 19 - HTTP агент; 20 - SNMP агент; 21 - Скрипт. | 
| url (обязательно) | string | URL строка, обязательная для HTTP агент LLD. Поддерживает пользовательские макросы, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}. | 
| allow_traps | integer | Поле для HTTP агента LLD. Позволяет принимать значения как в типе элемента trapper. 0 - (по умолчанию) Не разрешать принимать входящие данные. 1 - Разрешить принимать входящие данные. | 
| authtype | integer | Используется только для SSH агента или HTTP агента LLD. Возможные значения для SSH агента: 0 - (по умолчанию) пароль; 1 - открытый ключ. Возможные значения для HTTP агента: 0 - (по умолчанию) нет; 1 - базовая аутентификация; 2 - NTLM | 
| description | string | Описание правила LLD. | 
| error | string | (только для чтения) Текст ошибки, если возникли проблемы с обновлением значения правила LLD. | 
| follow_redirects | integer | Поле для HTTP агента LLD. Следовать ли за перенаправлениями при опросе данных. 0 - Не следовать за перенаправлениями. 1 - (по умолчанию) Следовать за перенаправлениями. | 
| headers | object | Поле для HTTP агента LLD. Объект с заголовками HTTP(S) запроса, где имя заголовка используется как ключ, а значение заголовка как значение. Пример: { "User-Agent": "Zabbix" } | 
| http_proxy | string | Поле для HTTP агента LLD. Строка подключения к HTTP(S) прокси. | 
| ipmi_sensor | string | IPMI датчик. Используется только для IPMI правил LLD. | 
| jmx_endpoint | string | Пользовательская строка подключения для JMX агента. Значение по умолчанию: service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi | 
| lifetime | string | Период времени, после которого элементы, больше не обнаруженные, будут удалены. Принимает секунды, единицу времени с суффиксом и пользовательский макрос. По умолчанию: 30д. | 
| master_itemid | integer | ID основного элемента данных. Допускается рекурсия до 3 зависимых элементов данных, и максимальное количество зависимых элементов данных равно 999. Правило обнаружения не может быть основным элементом данных для другого правила обнаружения. Обязательно для зависимых элементов данных. | 
| output_format | integer | Поле для HTTP агента LLD. Следует ли конвертировать ответ в JSON. 0 - (по умолчанию) Хранить как есть. 1 - Конвертировать в JSON. | 
| params | string | Дополнительные параметры в зависимости от типа правила LLD: - выполняемый скрипт для SSH и Telnet LLD; - SQL-запрос для правил LLD мониторинга базы данных; - формула для вычисляемых правил LLD. | 
| parameters | array | Дополнительные параметры для правил LLD типа скрипт. Массив объектов с уникальными свойствами 'name' и 'value'. | 
| password | string | Пароль для аутентификации. Используется для простой проверки, SSH, Telnet, мониторинга базы данных, JMX и HTTP агента LLD. | 
| post_type | integer | Поле для HTTP агента LLD. Тип данных тела запроса, хранимых в свойстве posts. 0 - (по умолчанию) Сырые данные. 2 - Данные JSON. 3 - Данные XML. | 
| posts | string | Поле для HTTP агента LLD. Данные тела HTTP(S) запроса. Используется с post_type. | 
| privatekey | string | Имя файла с закрытым ключом. | 
| publickey | string | Имя файла с открытым ключом. | 
| query_fields | array | Поле для HTTP агента LLD. Параметры запроса. Массив объектов с парами 'key':'value', где значение может быть пустой строкой. | 
| request_method | integer | Поле для HTTP агента LLD. Тип метода запроса. 0 - (по умолчанию) GET 1 - POST 2 - PUT 3 - HEAD | 
| retrieve_mode | integer | Поле для HTTP агента LLD. Какую часть ответа следует сохранять. 0 - (по умолчанию) Тело. 1 - Заголовки. 2 - Будут сохранены и тело, и заголовки. Для request_method HEAD допустимо значение только 1. | 
| snmp_oid | string | SNMP OID. | 
| ssl_cert_file | string | Поле для HTTP агента LLD. Путь к публичному SSL-ключу. | 
| ssl_key_file | string | Поле для HTTP агента LLD. Путь к приватному SSL-ключу. | 
| ssl_key_password | string | Поле для HTTP агента LLD. Пароль для файла SSL-ключа. | 
| state | integer | (только для чтения) Состояние правила LLD. Возможные значения: 0 - (по умолчанию) нормальное; 1 - не поддерживается. | 
| status | integer | Статус правила LLD. Возможные значения: 0 - (по умолчанию) правило LLD включено; 1 - правило LLD отключено. | 
| status_codes | string | Поле для HTTP агента LLD. Диапазоны требуемых HTTP статус-кодов, разделенные запятыми. Также поддерживает пользовательские макросы как часть списка, разделенного запятыми. Пример: 200,200-{$M},{$M},200-400 | 
| templateid | string | (только для чтения) ID родительского шаблона правила LLD. | 
| timeout | string | Тайм-аут запроса для получения данных элемента. Используется для HTTP агента и скриптовых правил LLD. Поддерживает пользовательские макросы. по умолчанию: 3с максимальное значение: 60с | 
| trapper_hosts | string | Разрешенные узлы сети. Используется для trapper LLD и HTTP агента LLD. | 
| username | string | Имя пользователя для аутентификации. Используется для простой проверки, SSH, Telnet, мониторинга базы данных, JMX и HTTP агента LLD. Обязательно для SSH и Telnet LLD. | 
| uuid | string | Универсальный уникальный идентификатор, используемый для связывания импортированных правил LLD с уже существующими. Используется только для правил LLD на шаблонах. Автоматически генерируется, если не указан. | 
| verify_host | integer | Поле для HTTP агента LLD. Следует ли проверять, что имя узла для подключения совпадает с указанным в сертификате узла. 0 - (по умолчанию) Не проверять. 1 - Проверять. | 
| verify_peer | integer | Поле для HTTP агента LLD. Следует ли проверять подлинность сертификата узла. 0 - (по умолчанию) Не проверять. 1 - Проверять. | 
Обратите внимание, что для некоторых методов (обновление, удаление) комбинация обязательных/необязательных параметров может отличаться.
Объект фильтра правила обнаружения определяет набор условий, которые могут быть использованы для фильтрации обнаруженных объектов. Он имеет следующие свойства:
| Свойство | Тип | Описание | 
|---|---|---|
| conditions (обязательное) | array | Набор условий фильтрации для использования при фильтрации результатов. | 
| evaltype (обязательное) | integer | Метод оценки условия фильтра. Возможные значения: 0 - и/или; 1 - и; 2 - или; 3 - пользовательское выражение. | 
| eval_formula | string | (только для чтения)  Сгенерированное выражение, которое будет использоваться для оценки условий фильтра. Выражение содержит идентификаторы, которые ссылаются на конкретные условия фильтра по их formulaid. Значениеeval_formulaравно значениюformulaдля фильтров с пользовательским выражением. | 
| formula | string | Пользовательское выражение, используемое для оценки фильтров с пользовательским выражением. Выражение должно содержать идентификаторы, которые ссылаются на конкретные условия фильтра по их formulaid. Идентификаторы, используемые в выражении, должны точно соответствовать условиям фильтра: ни одно условие не может остаться неиспользованным или пропущенным.Обязательно для фильтров с пользовательским выражением. | 
Объект условия фильтрации правила LLD определяет индивидуальную проверку, которая проверяет соответствие значения LLD макроса. Этот метод имеет следующие свойства:
| Свойство | Тип | Описание | 
|---|---|---|
| macro (требуется) | строка | LLD макрос для которого необходимо выполнять проверку. | 
| value (требуется) | строка | Значение с которым необходимо выполнить сравнение. | 
| formulaid | строка | Произвольный уникальный ID, который используется в качестве ссылки на условие из пользовательского выражения. Может содержать только буквы в верхнем регистре. Этот ID должен быть задан пользователем при изменении условий фильтрации, однако ID будут сгенерированы заново при последующих их запросах. | 
| operator | целое число | Оператор условия. Возможные значения: 8 - (по умолчанию) совпадение с регулярным выражением; 9 - не соответствует регулярному выражению. | 
Чтобы лучше понимать как использовать фильтры с различными типами выражений, смотрите примеры на страницах discoveryrule.get и discoveryrule.create методов.
Путь макроса правила обнаружения имеет следующие свойства:
| Свойство | Тип | Описание | 
|---|---|---|
| lld_macro (обязательное) | string | Макрос правила обнаружения. | 
| path (обязательное) | string | Селектор для значения, которое будет присвоено соответствующему макросу. | 
Объект предобработки правила LLD имеет следующие свойства.
| Свойство | Тип | Описание | 
|---|---|---|
| type (обязательное) | integer | Тип опции предобработки. Возможные значения: 5 - Соответствие регулярному выражению; 11 - XML XPath; 12 - JSONPath; 15 - Не соответствует регулярному выражению; 16 - Проверка на ошибку в JSON; 17 - Проверка на ошибку в XML; 20 - Отбрасывать неизмененные с heartbeat; 21 - JavaScript; 23 - Prometheus в JSON; 24 - CSV в JSON; 25 - Замена; 27 - XML в JSON. | 
| params (обязательное) | integer | Дополнительные параметры, используемые опцией предобработки. Несколько параметров разделяются символом LF (\n). | 
| error_handler (обязательное) | integer | Тип действия, используемого в случае сбоя на этапе предобработки. Возможные значения: 0 - Сообщение об ошибке устанавливается сервером Zabbix; 1 - Отбросить значение; 2 - Установить пользовательское значение; 3 - Установить пользовательское сообщение об ошибке. | 
| error_handler_params (обязательное) | string | Параметры обработчика ошибок. Используется с error_handler.Должно быть пустым, если error_handlerравен 0 или 1.Может быть пустым, если error_handlerравен 2.Не может быть пустым, если error_handlerравен 3. | 
Ниже приведены параметры и обработчики ошибок, поддерживаемые для каждого типа предобработки.
| Тип предобработки | Название | Параметр 1 | Параметр 2 | Параметр 3 | Поддерживаемые обработчики ошибок | 
|---|---|---|---|---|---|
| 5 | Регулярное выражение | pattern1 | output2 | 0, 1, 2, 3 | |
| 11 | XML XPath | path3 | 0, 1, 2, 3 | ||
| 12 | JSONPath | path3 | 0, 1, 2, 3 | ||
| 15 | Нет совпадения с регулярным выражением | pattern1 | 0, 1, 2, 3 | ||
| 16 | Проверка JSON на ошибки | path3 | 0, 1, 2, 3 | ||
| 17 | Проверка XML на ошибки | path3 | 0, 1, 2, 3 | ||
| 20 | Отбрасывать не изменившееся с периодическим контролем | seconds4, 5 | |||
| 21 | JavaScript | script2 | |||
| 23 | Prometheus в JSON | pattern5, 6 | 0, 1, 2, 3 | ||
| 24 | CSV в JSON | character2 | character2 | 0,1 | 0, 1, 2, 3 | 
| 25 | Замена | search string2 | replacement2 | ||
| 27 | XML в JSON | 0, 1, 2, 3 | |||
1 регулярное выражение
       2 строка
       3 JSONPath или XML XPath
       4 положительное целое число (с поддержкой суффиксов времени, например, 30s, 1m, 2h, 1d)
       5 пользовательский макрос
       6 шаблон Prometheus, следующий синтаксису: <имя метрики>{<имя метки>="<значение метки>", ...} == <значение>. Каждый компонент шаблона Prometheus (метрика, имя метки, значение метки и значение метрики) может быть пользовательским макросом.
       
Объект переопределений правил LLD определяет набор правил (фильтры, условия и операции), которые используются для переопределения свойств различных объектов-прототипов. Он имеет следующие свойства:
| Свойство | Тип | Описание | 
|---|---|---|
| name (обязательное) | string | Уникальное имя переопределения. | 
| step (обязательное) | integer | Уникальный порядковый номер переопределения. | 
| stop | integer | Остановить обработку следующих переопределений, если условие выполнено. Возможные значения: 0 - (по умолчанию) не останавливать обработку переопределений; 1 - остановить обработку переопределений, если фильтр совпадает. | 
| filter | object | Фильтр переопределений. | 
| operations | array | Операции переопределений. | 
The LLD rule override filter object defines a set of conditions that if they match the discovered object the override is applied. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| evaltype (required) | integer | Override filter condition evaluation method. Possible values: 0 - and/or; 1 - and; 2 - or; 3 - custom expression. | 
| conditions (required) | array | Set of override filter conditions to use for matching the discovered objects. | 
| eval_formula | string | (readonly) Generated expression that will be used for evaluating override filter conditions. The expression contains IDs that reference specific override filter conditions by its formulaid. The value ofeval_formulais equal to the value offormulafor filters with a custom expression. | 
| formula | string | User-defined expression to be used for evaluating conditions of override filters with a custom expression. The expression must contain IDs that reference specific override filter conditions by its formulaid. The IDs used in the expression must exactly match the ones defined in the override filter conditions: no condition can remain unused or omitted.Required for custom expression override filters. | 
The LLD rule override filter condition object defines a separate check to perform on the value of an LLD macro. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| macro (required) | string | LLD macro to perform the check on. | 
| value (required) | string | Value to compare with. | 
| formulaid | string | Arbitrary unique ID that is used to reference the condition from a custom expression. Can only contain capital-case letters. The ID must be defined by the user when modifying filter conditions, but will be generated anew when requesting them afterward. | 
| operator | integer | Condition operator. Possible values: 8 - (default) matches regular expression; 9 - does not match regular expression; 12 - exists; 13 - does not exist. | 
The LLD rule override operation is combination of conditions and actions to perform on the prototype object. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| operationobject (required) | integer | Type of discovered object to perform the action. Possible values: 0 - Item prototype; 1 - Trigger prototype; 2 - Graph prototype; 3 - Host prototype. | 
| operator | integer | Override condition operator. Possible values: 0 - (default) equals; 1 - does not equal; 2 - contains; 3 - does not contain; 8 - matches; 9 - does not match. | 
| value | string | Pattern to match item, trigger, graph or host prototype name depending on selected object. | 
| opstatus | object | Override operation status object for item, trigger and host prototype objects. | 
| opdiscover | object | Override operation discover status object (all object types). | 
| opperiod | object | Override operation period (update interval) object for item prototype object. | 
| ophistory | object | Override operation history object for item prototype object. | 
| optrends | object | Override operation trends object for item prototype object. | 
| opseverity | object | Override operation severity object for trigger prototype object. | 
| optag | array | Override operation tag object for trigger and host prototype objects. | 
| optemplate | array | Override operation template object for host prototype object. | 
| opinventory | object | Override operation inventory object for host prototype object. | 
LLD rule override operation status that is set to discovered object. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| status (required) | integer | Override the status for selected object. Possible values: 0 - Create enabled; 1 - Create disabled. | 
LLD rule override operation discover status that is set to discovered object. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| discover (required) | integer | Override the discover status for selected object. Possible values: 0 - Yes, continue discovering the objects; 1 - No, new objects will not be discovered and existing ones will me marked as lost. | 
LLD rule override operation period is an update interval value (supports custom intervals) that is set to discovered item. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| delay (required) | string | Override the update interval of the item prototype. Accepts seconds or a time unit with suffix (30s,1m,2h,1d) as well as flexible and scheduling intervals and user macros or LLD macros. Multiple intervals are separated by a semicolon. | 
LLD rule override operation history value that is set to discovered item. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| history (required) | string | Override the history of item prototype which is a time unit of how long the history data should be stored. Also accepts user macro and LLD macro. | 
Правило обнаружения переопределяет значение трендов, которые установлены для обнаруженного элемента данных. Оно имеет следующие свойства:
| Свойство | Тип | Описание | 
|---|---|---|
| trends (обязательное) | string | Переопределяет значения прототипа элемента данных, которые указывают как долго должны храниться данные о трендах. Также может быть пользовательским макросом или макросом правила обнаружения. | 
LLD rule override operation severity value that is set to discovered trigger. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| severity (required) | integer | Override the severity of trigger prototype. Possible values are: 0 - (default) not classified; 1 - information; 2 - warning; 3 - average; 4 - high; 5 - disaster. | 
LLD rule override operation tag object contains tag name and value that are set to discovered object. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| tag (required) | string | New tag name. | 
| value | string | New tag value. | 
LLD rule override operation template object that is linked to discovered host. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| templateid (required) | string | Override the template of host prototype linked templates. | 
LLD rule override operation inventory mode value that is set to discovered host. It has the following properties:
| Property | Type | Description | 
|---|---|---|
| inventory_mode (required) | integer | Override the host prototype inventory mode. Possible values are: -1 - disabled; 0 - (default) manual; 1 - automatic. |