Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

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

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

Правило LLD

Объект правила низкоуровневого обнаружения (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 - Проверять.

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

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

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

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

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

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

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

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

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

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

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

Путь макроса правила LLD

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

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

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

Объект предобработки правила 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

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

Свойство Тип Описание
name
(обязательное)
string Уникальное имя переопределения.
step
(обязательное)
integer Уникальный порядковый номер переопределения.
stop integer Остановить обработку следующих переопределений, если условие выполнено.

Возможные значения:
0 - (по умолчанию) не останавливать обработку переопределений;
1 - остановить обработку переопределений, если фильтр совпадает.
filter object Фильтр переопределений.
operations array Операции переопределений.

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 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 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.

Required for custom expression override filters.

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 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.

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 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

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

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

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

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.
Правило LLD переопределяет тренды

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

Свойство Тип Описание
trends
(обязательное)
string Переопределяет значения прототипа элемента данных, которые указывают как долго должны храниться данные о трендах. Также может быть пользовательским макросом или макросом правила обнаружения.
LLD rule override operation severity

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

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

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

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.