Следующие объекты напрямую связаны с 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. |
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>
.
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. |
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 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 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 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. |