Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

itemprototype.create

Описание

object itemprototype.create(объект/массив itemPrototypes)

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

Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

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

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

Параметр Тип Описание
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
       }

Создать прототип элемента HTTP-агента

Создать прототип элемента с URL-адресом, используя пользовательский макрос, поля запроса и пользовательские заголовки.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "type": "19",
               "hostid": "10254",
               "ruleid": "28256",
               "interfaceid": "2",
               "name": "api item prototype example",
               "key_": "api_http_item",
               "value_type": 3,
               "url": "{$URL_PROTOTYPE}",
               "query_fields": [
                   {
                       "min": "10"
                   },
                   {
                       "max": "100"
                   }
               ],
               "headers": {
                   "X-Source": "api"
               },
               "delay": "35"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Исходный код

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

Источник

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