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

> Объект правила 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 агент;
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.
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 macro path

The LLD macro path has the following properties:

Property Type Description
lld_macro
(required)
string LLD macro.
path
(required)
string Selector for value which will be assigned to corresponding macro.

LLD rule preprocessing

The LLD rule preprocessing object has the following properties.

Property Type Description
type
(required)
integer The preprocessing option type.

Possible values:
5 - Regular expression matching;
11 - XML XPath;
12 - JSONPath;
15 - Does not match regular expression;
16 - Check for error in JSON;
17 - Check for error in XML;
20 - Discard unchanged with heartbeat;
23 - Prometheus to JSON;
24 - CSV to JSON;
25 - Replace.
params
(required)
string Additional parameters used by preprocessing option. Multiple parameters are separated by LF (\n) character.
error_handler
(required)
integer Action type used in case of preprocessing step failure.

Possible values:
0 - Error message is set by Zabbix server;
1 - Discard value;
2 - Set custom value;
3 - Set custom error message.
error_handler_params
(required)
string Error handler parameters. Used with error_handler.

Must be empty, if error_handler is 0 or 1.
Can be empty if, error_handler is 2.
Cannot be empty, if error_handler is 3.

The following parameters and error handlers are supported for each preprocessing type.

Preprocessing type Name Parameter 1 Parameter 2 Parameter 3 Supported error handlers
5 Regular expression pattern1 output2 0, 1, 2, 3
11 XML XPath path3 0, 1, 2, 3
12 JSONPath path3 0, 1, 2, 3
15 Does not match regular expression pattern1 0, 1, 2, 3
16 Check for error in JSON path3 0, 1, 2, 3
17 Check for error in XML path3 0, 1, 2, 3
20 Discard unchanged with heartbeat seconds4, 5, 6
23 Prometheus to JSON pattern5, 7 0, 1, 2, 3
24 CSV to JSON character2 character2 0,1 0, 1, 2, 3
25 Replace search string2 replacement2

1 regular expression
2 string
3 JSONPath or XML XPath
4 positive integer (with support of time suffixes, e.g. 30s, 1m, 2h, 1d)
5 user macro
6 LLD macro
7 Prometheus pattern following the syntax: <metric name>{<label name>="<label value>", ...} == <value>. Each Prometheus pattern component (metric, label name, label value and metric value) can be user macro.
8 Prometheus output following the syntax: <label name>.

LLD rule overrides

The LLD rule overrides object defines a set of rules (filters, conditions and operations) that are used to override properties of different prototype objects. It has the following properties:

Property Type Description
name
(required)
string Unique override name.
step
(required)
integer Unique order number of the override.
stop integer Stop processing next overrides if matches.

Possible values:
0 - (default) don't stop processing overrides;
1 - stop processing overrides if filter matches.
filter object Override filter.
operations array Override operations.

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.

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 prototype object.
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 rule override operation trends value that is set to discovered item. It has the following properties:

Property Type Description
trends
(required)
string Override the trends of item prototype which is a time unit of how long the trends data should be stored. Also accepts user macro and LLD macro.
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 values that are set to discovered trigger. It has the following properties:

Property Type Description
tag
(required)
string Override the tag name of trigger prototype tags.
value string Override the tag value of trigger prototype tags.
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.