[comment]: # translation:outdated

[comment]: # ({c5a9e121-c5a9e121})
# > Объект правила LLD

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

[comment]: # ({/c5a9e121-c5a9e121})

[comment]: # ({fce546e3-c17fa830})
### Правило LLD

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

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|itemid|string|*(только для чтения)* ID правила LLD.|
|**delay**<br>(обязательно)|string|Интервал обновления правила LLD. Принимает секунды или единицу времени с суффиксом, а также с одним или несколькими [настраиваемыми интервалами](/manual/config/items/item/custom_intervals), которые состоят из гибких интервалов и интервалов расписания в виде сериализованных строк. Также поддерживает пользовательские макросы. Гибкие интервалы могут быть записаны в виде двух макросов, разделенных косой чертой. Интервалы разделяются точкой с запятой.<br><br>Необязательно для Zabbix trapper, зависимых элементов данных и для Zabbix агента (активного) с ключом `mqtt.get`.|
|**hostid**<br>(обязательно)|string|ID узла сети, к которому принадлежит правило LLD.|
|**interfaceid**<br>(обязательно)|string|ID интерфейса узла сети для правила LLD. Используется только для правил LLD узла сети.<br><br>Не требуется для Zabbix агента (активный), Zabbix internal, Zabbix trapper, зависимых элементов данных, мониторинга базы данных и скриптовых правил LLD. Необязательно для HTTP агента LLD.|
|**key\_**<br>(обязательно)|string|Ключ правила LLD.|
|**name**<br>(обязательно)|string|Имя правила LLD.|
|**type**<br>(обязательно)|integer|Тип правила LLD.<br><br>Возможные значения:<br>0 - Zabbix агент;<br>2 - Zabbix trapper;<br>3 - простая проверка;<br>5 - Zabbix internal;<br>7 - Zabbix агент (активный);<br>10 - внешняя проверка;<br>11 - мониторинг базы данных;<br>12 - IPMI агент;<br>13 - SSH агент;<br>14 - TELNET агент;<br>16 - JMX агент;<br>18 - зависимый элемент данных;<br>19 - HTTP агент;<br>20 - SNMP агент;<br>21 - Скрипт.|
|**url**<br>(обязательно)|string|URL строка, обязательная для HTTP агент LLD. Поддерживает пользовательские макросы, {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}.|
|allow\_traps|integer|Поле для HTTP агента LLD. Позволяет принимать значения как в типе элемента trapper.<br><br>0 - *(по умолчанию)* Не разрешать принимать входящие данные.<br>1 - Разрешить принимать входящие данные.|
|authtype|integer|Используется только для SSH агента или HTTP агента LLD.<br><br>Возможные значения для SSH агента:<br>0 - *(по умолчанию)* пароль;<br>1 - открытый ключ.<br><br>Возможные значения для HTTP агента:<br>0 - *(по умолчанию)* нет;<br>1 - базовая аутентификация;<br>2 - NTLM|
|description|string|Описание правила LLD.|
|error|string|*(только для чтения)* Текст ошибки, если возникли проблемы с обновлением значения правила LLD.|
|follow\_redirects|integer|Поле для HTTP агента LLD. Следовать ли за перенаправлениями при опросе данных.<br><br>0 - Не следовать за перенаправлениями.<br>1 - *(по умолчанию)* Следовать за перенаправлениями.|
|headers|object|Поле для HTTP агента LLD. Объект с заголовками HTTP(S) запроса, где имя заголовка используется как ключ, а значение заголовка как значение.<br><br>Пример:<br>{ "User-Agent": "Zabbix" }|
|http\_proxy|string|Поле для HTTP агента LLD. Строка подключения к HTTP(S) прокси.|
|ipmi\_sensor|string|IPMI датчик. Используется только для IPMI правил LLD.|
|jmx\_endpoint|string|Пользовательская строка подключения для JMX агента.<br><br>Значение по умолчанию:<br>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi|
|lifetime|string|Период времени, после которого элементы, больше не обнаруженные, будут удалены. Принимает секунды, единицу времени с суффиксом и пользовательский макрос.<br><br>По умолчанию: `30д`.|
|master\_itemid|integer|ID основного элемента данных.<br>Допускается рекурсия до 3 зависимых элементов данных, и максимальное количество зависимых элементов данных равно 999.<br>Правило обнаружения не может быть основным элементом данных для другого правила обнаружения.<br><br>Обязательно для зависимых элементов данных.|
|output\_format|integer|Поле для HTTP агента LLD. Следует ли конвертировать ответ в JSON.<br><br>0 - *(по умолчанию)* Хранить как есть.<br>1 - Конвертировать в JSON.|
|params|string|Дополнительные параметры в зависимости от типа правила LLD:<br>- выполняемый скрипт для SSH и Telnet LLD;<br>- SQL-запрос для правил LLD мониторинга базы данных;<br>- формула для вычисляемых правил LLD.|
|parameters|array|Дополнительные параметры для правил LLD типа скрипт. Массив объектов с уникальными свойствами 'name' и 'value'.|
|password|string|Пароль для аутентификации. Используется для простой проверки, SSH, Telnet, мониторинга базы данных, JMX и HTTP агента LLD.|
|post\_type|integer|Поле для HTTP агента LLD. Тип данных тела запроса, хранимых в свойстве posts.<br><br>0 - *(по умолчанию)* Сырые данные.<br>2 - Данные JSON.<br>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. Тип метода запроса.<br><br>0 - *(по умолчанию)* GET<br>1 - POST<br>2 - PUT<br>3 - HEAD|
|retrieve\_mode|integer|Поле для HTTP агента LLD. Какую часть ответа следует сохранять.<br><br>0 - *(по умолчанию)* Тело.<br>1 - Заголовки.<br>2 - Будут сохранены и тело, и заголовки.<br><br>Для 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.<br><br>Возможные значения:<br>0 - *(по умолчанию)* нормальное;<br>1 - не поддерживается.|
|status|integer|Статус правила LLD.<br><br>Возможные значения:<br>0 - *(по умолчанию)* правило LLD включено;<br>1 - правило LLD отключено.|
|status\_codes|string|Поле для HTTP агента LLD. Диапазоны требуемых HTTP статус-кодов, разделенные запятыми. Также поддерживает пользовательские макросы как часть списка, разделенного запятыми.<br><br>Пример: 200,200-{$M},{$M},200-400|
|templateid|string|(только для чтения) ID родительского шаблона правила LLD.|
|timeout|string|Тайм-аут запроса для получения данных элемента. Используется для HTTP агента и скриптовых правил LLD. Поддерживает пользовательские макросы.<br><br>по умолчанию: 3с<br>максимальное значение: 60с|
|trapper\_hosts|string|Разрешенные узлы сети. Используется для trapper LLD и HTTP агента LLD.|
|username|string|Имя пользователя для аутентификации. Используется для простой проверки, SSH, Telnet, мониторинга базы данных, JMX и HTTP агента LLD.<br><br>Обязательно для SSH и Telnet LLD.|
|uuid|string|Универсальный уникальный идентификатор, используемый для связывания импортированных правил LLD с уже существующими. Используется только для правил LLD на шаблонах. Автоматически генерируется, если не указан.|
|verify\_host|integer|Поле для HTTP агента LLD. Следует ли проверять, что имя узла для подключения совпадает с указанным в сертификате узла.<br><br>0 - *(по умолчанию)* Не проверять.<br>1 - Проверять.|
|verify\_peer|integer|Поле для HTTP агента LLD. Следует ли проверять подлинность сертификата узла.<br><br>0 - *(по умолчанию)* Не проверять.<br>1 - Проверять.|

Обратите внимание, что для некоторых методов (обновление, удаление) комбинация обязательных/необязательных параметров может отличаться.

[comment]: # ({/fce546e3-c17fa830})

[comment]: # ({e640f5aa-b0412737})
### Фильтр правила LLD

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

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|**conditions**<br>(обязательное)|array|Набор условий фильтрации для использования при фильтрации результатов. |
|**evaltype**<br>(обязательное)|integer|Метод оценки условия фильтра.<br><br>Возможные значения:<br>0 - и/или;<br>1 - и;<br>2 - или;<br>3 - пользовательское выражение.|
|eval\_formula|string|*(только для чтения) * Сгенерированное выражение, которое будет использоваться для оценки условий фильтра. Выражение содержит идентификаторы, которые ссылаются на конкретные условия фильтра по их `formulaid`. Значение `eval_formula` равно значению `formula` для фильтров с пользовательским выражением.|
|formula|string|Пользовательское выражение, используемое для оценки фильтров с пользовательским выражением. Выражение должно содержать идентификаторы, которые ссылаются на конкретные условия фильтра по их `formulaid`. Идентификаторы, используемые в выражении, должны точно соответствовать условиям фильтра: ни одно условие не может остаться неиспользованным или пропущенным.<br><br>Обязательно для фильтров с пользовательским выражением.|

[comment]: # ({/e640f5aa-b0412737})

[comment]: # ({new-be83ef5c})
#### Условие фильтрации правила LLD

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

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

::: notetip
Чтобы лучше понимать как использовать фильтры с
различными типами выражений, смотрите примеры на страницах
[discoveryrule.get](get#получение_условий_фильтрации) и
[discoveryrule.create](create#использование_фильтрации_при_помощи_пользовательского_выражения)
методов.
:::

[comment]: # ({/new-be83ef5c})

[comment]: # ({8afcce40-4a2b52b9})
### Путь макроса правила LLD

Путь макроса правила обнаружения имеет следующие свойства:

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|**lld\_macro**<br>(обязательное)|string|Макрос правила обнаружения.|
|**path**<br>(обязательное)|string|Селектор для значения, которое будет присвоено соответствующему макросу.|

[comment]: # ({/8afcce40-4a2b52b9})

[comment]: # ({7a79dde4-14dc55c1})
### Предобработка правила LLD

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

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|**type**<br>(обязательное)|integer|Тип опции предобработки.<br><br>Возможные значения:<br>5 - Соответствие регулярному выражению;<br>11 - XML XPath;<br>12 - JSONPath;<br>15 - Не соответствует регулярному выражению;<br>16 - Проверка на ошибку в JSON;<br>17 - Проверка на ошибку в XML;<br>20 - Отбрасывать неизмененные с heartbeat;<br>21 - JavaScript;<br>23 - Prometheus в JSON;<br>24 - CSV в JSON;<br>25 - Замена;<br>27 - XML в JSON.|
|**params**<br>(обязательное)|integer|Дополнительные параметры, используемые опцией предобработки. Несколько параметров разделяются символом LF (\\n).|
|**error\_handler**<br>(обязательное)|integer|Тип действия, используемого в случае сбоя на этапе предобработки.<br><br>Возможные значения:<br>0 - Сообщение об ошибке устанавливается сервером Zabbix;<br>1 - Отбросить значение;<br>2 - Установить пользовательское значение;<br>3 - Установить пользовательское сообщение об ошибке.|
|**error\_handler\_params**<br>(обязательное)|string|Параметры обработчика ошибок. Используется с `error_handler`.<br><br>Должно быть пустым, если `error_handler` равен 0 или 1.<br>Может быть пустым, если `error_handler` равен 2.<br>Не может быть пустым, если `error_handler` равен 3.|

Ниже приведены параметры и обработчики ошибок, поддерживаемые для каждого типа предобработки.

|Тип предобработки|Название|Параметр 1|Параметр 2|Параметр 3|Поддерживаемые обработчики ошибок|
|------------------|----|-----------|-----------|-----------|------------------------|
|5|Регулярное выражение|pattern^1^|output^2^|<|0, 1, 2, 3|
|11|XML XPath|path^3^|<|<|0, 1, 2, 3|
|12|JSONPath|path^3^|<|<|0, 1, 2, 3|
|15|Нет совпадения с регулярным выражением|pattern^1^|<|<|0, 1, 2, 3|
|16|Проверка JSON на ошибки|path^3^|<|<|0, 1, 2, 3|
|17|Проверка XML на ошибки|path^3^|<|<|0, 1, 2, 3|
|20|Отбрасывать не изменившееся с периодическим контролем|seconds^4,\ 5^|<|<|<|
|21|JavaScript|script^2^|<|<|<|
|23|Prometheus в JSON|pattern^5,\ 6^|<|<|0, 1, 2, 3|
|24|CSV в JSON|character^2^|character^2^|0,1|0, 1, 2, 3|
|25|Замена|search string^2^|replacement^2^|<|<|
|27|XML в JSON|<|<|<|0, 1, 2, 3|

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

[comment]: # ({/7a79dde4-14dc55c1})

[comment]: # ({21689ec0-2f32e5f0})
### Переопределения правил LLD

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

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|**name**<br>(обязательное)|string|Уникальное имя переопределения.|
|**step**<br>(обязательное)|integer|Уникальный порядковый номер переопределения.|
|stop|integer|Остановить обработку следующих переопределений, если условие выполнено.<br><br>Возможные значения:<br>0 - (по умолчанию) не останавливать обработку переопределений;<br>1 - остановить обработку переопределений, если фильтр совпадает.|
|filter|object|Фильтр переопределений.|
|operations|array|Операции переопределений.|

[comment]: # ({/21689ec0-2f32e5f0})

[comment]: # ({new-573b52c4})
#### LLD rule override filter

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](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**evaltype**<br>(required)|integer|Override filter condition evaluation method.<br><br>Possible values:<br>0 - and/or;<br>1 - and;<br>2 - or;<br>3 - custom expression.|
|**conditions**<br>(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 of `eval_formula` is equal to the value of `formula` for 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.<br><br>Required for custom expression override filters.|

[comment]: # ({/new-573b52c4})

[comment]: # ({new-e47f6c6a})
#### LLD rule override filter condition

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](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**macro**<br>(required)|string|LLD macro to perform the check on.|
|**value**<br>(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.<br><br>Possible values:<br>8 - *(default)* matches regular expression;<br>9 - does not match regular expression;<br>12 - exists;<br>13 - does not exist.|

[comment]: # ({/new-e47f6c6a})

[comment]: # ({new-e7b08f3c})
#### LLD rule override operation

The LLD rule override operation is combination of conditions and actions
to perform on the prototype object. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**operationobject**<br>(required)|integer|Type of discovered object to perform the action.<br><br>Possible values:<br>0 - Item prototype;<br>1 - Trigger prototype;<br>2 - Graph prototype;<br>3 - Host prototype.|
|operator|integer|Override condition operator.<br><br>Possible values:<br>0 - *(default)* equals;<br>1 - does not equal;<br>2 - contains;<br>3 - does not contain;<br>8 - matches;<br>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.|

[comment]: # ({/new-e7b08f3c})

[comment]: # ({new-52d3b579})
##### LLD rule override operation status

LLD rule override operation status that is set to discovered object. It
has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**status**<br>(required)|integer|Override the status for selected object.<br><br>Possible values:<br>0 - Create enabled;<br>1 - Create disabled.|

[comment]: # ({/new-52d3b579})

[comment]: # ({new-ff620350})
##### LLD rule override operation discover

LLD rule override operation discover status that is set to discovered
object. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**discover**<br>(required)|integer|Override the discover status for selected object.<br><br>Possible values:<br>0 - Yes, continue discovering the objects;<br>1 - No, new objects will not be discovered and existing ones will me marked as lost.|

[comment]: # ({/new-ff620350})

[comment]: # ({new-6e469c1b})
##### LLD rule override operation period

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](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**delay**<br>(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.|

[comment]: # ({/new-6e469c1b})

[comment]: # ({new-ff97489f})
##### LLD rule override operation history

LLD rule override operation history value that is set to discovered
item. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**history**<br>(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.|

[comment]: # ({/new-ff97489f})

[comment]: # ({a367a7f9-10b52601})
##### Правило LLD переопределяет тренды

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

|Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|**trends**<br>(обязательное)|string|Переопределяет значения прототипа элемента данных, которые указывают как долго должны храниться данные о трендах. Также может быть пользовательским макросом или макросом правила обнаружения.|

[comment]: # ({/a367a7f9-10b52601})

[comment]: # ({new-991f3bdc})
##### LLD rule override operation severity

LLD rule override operation severity value that is set to discovered
trigger. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**severity**<br>(required)|integer|Override the severity of trigger prototype.<br><br>Possible values are: 0 - *(default)* not classified;<br>1 - information;<br>2 - warning;<br>3 - average;<br>4 - high;<br>5 - disaster.|

[comment]: # ({/new-991f3bdc})

[comment]: # ({new-0693b8f3})
##### LLD rule override operation tag

LLD rule override operation tag object contains tag name and value that
are set to discovered object. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**tag**<br>(required)|string|New tag name.|
|value|string|New tag value.|

[comment]: # ({/new-0693b8f3})

[comment]: # ({new-5eebc05a})
##### LLD rule override operation template

LLD rule override operation template object that is linked to discovered
host. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**templateid**<br>(required)|string|Override the template of host prototype linked templates.|

[comment]: # ({/new-5eebc05a})

[comment]: # ({new-9c5cc3d1})
##### LLD rule override operation inventory

LLD rule override operation inventory mode value that is set to
discovered host. It has the following properties:

|Property|[Type](/manual/api/reference_commentary#data_types)|Description|
|--------|---------------------------------------------------|-----------|
|**inventory\_mode**<br>(required)|integer|Override the host prototype inventory mode.<br><br>Possible values are:<br>-1 - disabled;<br>0 - *(default)* manual;<br>1 - automatic.|

[comment]: # ({/new-9c5cc3d1})
