Следующие объекты напрямую связаны с API правил обнаружения (discoveryrule
).
Объект правила низкоуровневого обнаружения (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 - Проверять. |
Обратите внимание, что для некоторых методов (обновление, удаление) комбинация обязательных/необязательных параметров может отличаться.
Объект фильтра правила обнаружения определяет набор условий, которые могут быть использованы для фильтрации обнаруженных объектов. Он имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
conditions (обязательное) |
array | Набор условий фильтрации для использования при фильтрации результатов. |
evaltype (обязательное) |
integer | Метод оценки условия фильтра. Возможные значения: 0 - и/или; 1 - и; 2 - или; 3 - пользовательское выражение. |
eval_formula | string | (только для чтения) Сгенерированное выражение, которое будет использоваться для оценки условий фильтра. Выражение содержит идентификаторы, которые ссылаются на конкретные условия фильтра по их formulaid . Значение eval_formula равно значению formula для фильтров с пользовательским выражением. |
formula | string | Пользовательское выражение, используемое для оценки фильтров с пользовательским выражением. Выражение должно содержать идентификаторы, которые ссылаются на конкретные условия фильтра по их formulaid . Идентификаторы, используемые в выражении, должны точно соответствовать условиям фильтра: ни одно условие не может остаться неиспользованным или пропущенным.Обязательно для фильтров с пользовательским выражением. |
Объект условия фильтрации правила LLD определяет индивидуальную проверку, которая проверяет соответствие значения LLD макроса. Этот метод имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
macro (требуется) |
строка | LLD макрос для которого необходимо выполнять проверку. |
value (требуется) |
строка | Значение с которым необходимо выполнить сравнение. |
formulaid | строка | Произвольный уникальный ID, который используется в качестве ссылки на условие из пользовательского выражения. Может содержать только буквы в верхнем регистре. Этот ID должен быть задан пользователем при изменении условий фильтрации, однако ID будут сгенерированы заново при последующих их запросах. |
operator | целое число | Оператор условия. Возможные значения: 8 - (по умолчанию) совпадение с регулярным выражением; 9 - не соответствует регулярному выражению. |
Чтобы лучше понимать как использовать фильтры с различными типами выражений, смотрите примеры на страницах discoveryrule.get и discoveryrule.create методов.
Путь макроса правила обнаружения имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
lld_macro (обязательное) |
string | Макрос правила обнаружения. |
path (обязательное) |
string | Селектор для значения, которое будет присвоено соответствующему макросу. |
Объект предобработки правила 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 определяет набор правил (фильтры, условия и операции), которые используются для переопределения свойств различных объектов-прототипов. Он имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
name (обязательное) |
string | Уникальное имя переопределения. |
step (обязательное) |
integer | Уникальный порядковый номер переопределения. |
stop | integer | Остановить обработку следующих переопределений, если условие выполнено. Возможные значения: 0 - (по умолчанию) не останавливать обработку переопределений; 1 - остановить обработку переопределений, если фильтр совпадает. |
filter | object | Фильтр переопределений. |
operations | array | Операции переопределений. |
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. |
Правило обнаружения переопределяет значение трендов, которые установлены для обнаруженного элемента данных. Оно имеет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
trends (обязательное) |
string | Переопределяет значения прототипа элемента данных, которые указывают как долго должны храниться данные о трендах. Также может быть пользовательским макросом или макросом правила обнаружения. |
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. |