This is a translation of the original English documentation page. Help us make it better.

itemprototype.create

Leírás

object itemprototype.create(object/array itemPrototypes)

Ez a módszer lehetővé teszi új cikk prototípusok létrehozását.

Ez a módszer csak az Admin és a Kiemelt rendszergazda számára érhető el felhasználói típusok. A metódus meghívására vonatkozó engedélyek felhasználói szerepkörben visszavonhatók beállítások. Lásd: User roles további információért.

Paraméterek

(objektum/tömb) Létrehozandó elem prototípusa.

A standard item prototype property, a metódus a következőket fogadja el paramétereket.

Paraméter Típus Leírás
ruleid
(kötelező)
string Az LLD-szabály azonosítója, amelyhez az elem tartozik.
preprocessing array Elem prototípus előfeldolgozás beállítások.
tags array Elem prototípus címkék.

Visszatérési értékek

(object) Egy objektumot ad vissza, amely tartalmazza a létrehozott elem azonosítóit prototípusok az "itemids" tulajdonság alatt. A visszaküldött azonosítók sorrendje megegyezik az átadott cikk prototípusainak sorrendjével.

Példák

Tétel prototípusának létrehozása

Hozzon létre egy elem prototípust a szabad lemezterület figyeléséhez a felfedezett fájlon rendszer. A felfedezett elemeknek numerikus Zabbix ügynökelemeknek kell lenniük, frissítve 30 másodpercenként.

Kérés:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "params": {
               "name": "Szabad lemezterület a következőn: {#FSNAME}",
               "key_": "vfs.fs.size[{#FSNAME},ingyenes]",
               "hostid": "10197",
               "ruleid": "27665",
               "type": 0,
               "value_type": 3,
               "interfaceid": "112",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Válasz:

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

Creating an item prototype with preprocessing

Create an item using change per second and a custom multiplier as a second step.

Request:

{
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

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

Creating dependent item prototype

Create Dependent item prototype for Master item prototype with ID 44211. Only dependencies on same host (template/discovery rule) are allowed, therefore Master and Dependent item should have same hostid and ruleid.

Request:

{
           "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
       }

Response:

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

Create HTTP agent item prototype

Create item prototype with URL using user macro, query fields and custom headers.

Request:

{
           "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
       }

Response:

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

Create script item prototype

Create a simple data collection using a script item prototype.

Request:

{
           "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 CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [
                   {
                       "name": "host",
                       "value": "{HOST.CONN}"
                   }
               ],
               "timeout": "6s",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Response:

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

Forrás

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