itemprototype.create

Опис

object itemprototype.create(object/array itemPrototypes)

Овај метод омогућава креирање нових прототипова домаћина.

Ова метода је доступна само типовима корисника Администратор и Супер администратор. Дозволе за позивање методе могу се опозвати у подешавањима улога корисника. Погледајте Корисничке улоге за више информација.

Параметри

(оbject/array) Прототип ставке за креирање.

Поред својстава стандардног прототипа ставке, метода прихвата следеће параметре.

Parameter Type Description
ruleid ID ID од LLD правила којој ставке припада.

Понашање својства:
- обавезно
preprocessing array Предобрада прототипа ставке опције.

|tags|array|Ознаке прототипа ставке.|

Повратне вредности

(object) Враћа објекат који садржи ID-ијеве креираних прототипова ставки под својством itemids. Редослед враћених ID-ијева одговара редоследу прослеђених прототипова ставки.

Примери

Креирање прототипа ставке

Креирајте прототип ставке за надгледање слободног простора на диску на откривеном систему датотека. Откривене ставке треба да буду нумеричке ставке Zabbix агента које се ажурирају сваких 30 секунди.

Захтев:

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

Одговор:

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

Креирање прототипа ставке са предобрадом

Креирајте ставку користећи промену по секунди и прилагођени множилац као други корак.

Захтев:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "name": "Incoming network traffic on {#IFNAME}",
               "key_": "net.if.in[{#IFNAME}]",
               "hostid": "10001",
               "ruleid": "27665",
               "type": 0,
               "value_type": 3,
               "delay": "60s",
               "units": "bps",
               "interfaceid": "1155",
               "preprocessing": [
                   {
                       "type": 10,
                       "params": "",
                       "error_handler": 0,
                       "error_handler_params": ""
                   },
                   {
                       "type": 1,
                       "params": "8",
                       "error_handler": 2,
                       "error_handler_params": "10"
                   }
               ]
           },
           "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
           },
           "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": [
                   {
                       "name": "min",
                       "value": "10"
                   },
                   {
                       "name": "max",
                       "value" "100"
                   }
               ],
               "headers": [
                   {
                       "name": "X-Source",
                       "value": "api"
                   }
               ],
               "delay": "35"
           },
           "id": 1
       }

Одговор:

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

Креирење прототипа ставке скрипте

Креирајте једноставну колекцију података користећи прототип ставке скрипте.

Захтев:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.itemprototype",
               "hostid": "12345",
               "type": 21,
               "value_type": 4,
               "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [
                   {
                       "name": "host",
                       "value": "{HOST.CONN}"
                   }
               ],
               "timeout": "6s",
               "delay": "30s"
           },
           "id": 1
       }

Одговор:

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

Извор

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