объект discoveryrule.create(объект/массив ПравилаLLD)
Этот метод позволяет создавать новые правила LLD.
(объект/массив) Создаваемые правила LLD.
В дополнение к стандартным свойствам правила LLD, этот метод принимает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| filter | объект | Объект фильтра правила LLD для правила LLD. |
(объект) Возвращает объект, который содержит ID созданных правил LLD под свойством itemids. Порядок возвращаемых ID совпадает с порядком переданных правил LLD.
Создание правила LLD с типом Zabbix агент для обнаружения примонтированных файловых систем. Обнаруженные элементы данных будут обновляться каждые 30 секунд.
Запрос:
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Mounted filesystem discovery", "key_": "vfs.fs.discovery", "hostid": "10197", "type": "0", "interfaceid": "112", "delay": "30s" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Ответ:
Создание правила LLD с набором условий по которым необходимо фильтровать результаты. Условия будут сгруппированы вместе при помощи логического оператора "и".
Запрос:
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Filtered LLD rule", "key_": "lld", "hostid": "10116", "type": "0", "interfaceid": "13", "delay": "30s", "filter": { "evaltype": 1, "conditions": [ { "macro": "{#MACRO1}", "value": "@regex1" }, { "macro": "{#MACRO2}", "value": "@regex2" }, { "macro": "{#MACRO3}", "value": "@regex3" } ] } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Ответ:
Создание правила LLD с фильтром, который будет использовать пользовательское выражение для вычисления условий. Правило LLD должно обнаруживать только объекты у которых значение макроса "{#MACRO1}" совпадает с обеими регулярными выражениями "regex1" и "regex2", и значение "{#MACRO2}" совпадает либо с "regex3", либо с "regex4". ID "A", "B", "C" и "D" в формуле были выбраны случайно.
Запрос:
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Filtered LLD rule", "key_": "lld", "hostid": "10116", "type": "0", "interfaceid": "13", "delay": "30s", "filter": { "evaltype": 3, "formula": "(A and B) and (C or D)", "conditions": [ { "macro": "{#MACRO1}", "value": "@regex1", "formulaid": "A" }, { "macro": "{#MACRO1}", "value": "@regex2", "formulaid": "B" }, { "macro": "{#MACRO2}", "value": "@regex3", "formulaid": "C" }, { "macro": "{#MACRO2}", "value": "@regex4", "formulaid": "D" } ] } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Ответ:
CDiscoveryRule::create() в frontends/php/include/classes/api/services/CDiscoveryRule.php.