itemprototype.create

Описание

объект itemprototype.create(объект/массив ПрототипыЭлементовданных)

Этот метод позволяет создавать новые прототипы элементов данных.

Параметры

(объект/массив) Создаваемые прототипы элементов данных.

В дополнение к стандартным свойствам прототипа элементов данных, этот метод принимает следующие параметры.

Параметр Тип Описание
ruleid
(требуется)
строка ID правила LLD, которому прототип элементов данных будет принадлежать.
applications массив ID назначаемых групп элементов данных к обнаруженным элементам данных.
applicationPrototypes массив Имена прототипов групп элементов данных, которые будут назначены прототипу элементов данных.
preprocessing массив Опции предварительной обработки прототипа элементов данных.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID созданных прототипов элементов данных под свойством itemids. Порядок возвращаемых ID совпадает с порядком переданных прототипов элементов данных.

Примеры

Создание прототипа элементов данных

Создание прототипа элементов данных для наблюдения за свободным дисковым пространством на обнаруженной файловой системе. Обнаруженные элементы данных должны быть числовыми с типом Zabbix агент и обновляться каждые 30 секунд.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "name": "Free disk space on $1",
               "key_": "vfs.fs.size[{#FSNAME},free]",
               "hostid": "10197",
               "ruleid": "27665",
               "type": 0,
               "value_type": 3,
               "interfaceid": "112",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27666"
               ]
           },
           "id": 1
       }

Создание прототипа элементов данных с предобработкой

Создание прототипа элементов данных, который использует изменение в секунду и пользовательский множитель вторым шагом.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "name": "Incoming network traffic on $1",
               "key_": "net.if.in[{#IFNAME}]",
               "hostid": "10001",
               "ruleid": "27665",
               "type": 0,
               "value_type": 3,
               "delay": "60s",
               "units": "bps",
               "interfaceid": "1155",
               "preprocessing": [
                   {
                       "type": "10",
                       "params": ""
                   },
                   {
                       "type": "1",
                       "params": "8"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Создание зависимого прототипа элементов данных

Создание зависимого прототипа элементов данных от прототипа основного элемента данных с ID 44211. Зависимости разрешены только в пределах одного узла сети (шаблона/правила обнаружения), поэтому у основного и зависимого элементов данных должен быть одинаковый hostid и ruleid.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
             "hostid": "10001",
             "ruleid": "27665",
             "name": "Dependent test item prototype",
             "key_": "dependent.prototype",
             "type": "18",
             "master_itemid": "44211",
             "value_type": "3"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44212"
               ]
           },
           "id": 1
       }

Исходный код

CItemPrototype::create() в frontends/php/include/classes/api/services/CItemPrototype.php.