Следующие объекты напрямую связаны с 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 агент; 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 определяет набор условий, которые можно использовать для фильтрации обнаруженных объектов. Этот объект имеет следующие свойства:
| Свойство | Тип | Описание |
|---|---|---|
| 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 методов.
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. |
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; 27 - XML to JSON. |
| 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 | ||
| 27 | XML to JSON | 0, 1, 2, 3 | |||
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>.
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. |
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. |
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. |
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 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. |