объект 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.