itemprototype.create

Beschrijving

object itemprototype.create(object/array itemPrototypes)

Deze methode maakt het mogelijk om nieuwe item-prototypes te maken.

Deze methode is alleen beschikbaar voor Admin en Super admin gebruikers typen. Machtigingen om de methode aan te roepen kunnen worden ingetrokken in de gebruikersrol instellingen. Zie Gebruiker rollen voor meer informatie.

Parameters

(object/array) Item prototype om te maken.

Aanvullend op het prototype standaarditem eigenschappen, accepteert de methode het volgende: parameters.

Parameter Type Beschrijving
regel
(verplicht)
string ID van de LLD-regel waartoe het item behoort.
preprocessing array Item prototype preprocessing opties.
tags array Artikel prototype tags.

Retourwaarden

(object) Retourneert een object dat de ID's van het gemaakte item bevat prototypes onder de eigenschap itemids. De volgorde van de geretourneerde ID's komt overeen met de volgorde van de doorgegeven item-prototypes.

Voorbeelden

Een item-prototype maken

Maak een prototype van een item om de vrije schijfruimte op een gevonden bestand te controleren systeem. Gevonden items moeten numerieke Zabbix-agent items zijn geüpdatet elke 30 seconden.

Verzoek:

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

Antwoord:

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

Een artikelprototype maken met voorbewerking

Maak een item met wijziging per seconde en een aangepaste vermenigvuldiger als een tweede stap.

Verzoek:

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

Antwoord:

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

Aanmaken van een afhankelijk item-prototype

Maak een prototype van een afhankelijk artikel voor een prototype van een hoofdartikel met ID 44211. Alleen afhankelijkheden van dezelfde host (sjabloon/ontdekkingsregel) zijn toegestaan, daarom moeten Master en Dependent item dezelfde hostid en ruleid hebben.

Verzoek:

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

Antwoord:

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

Maak prototype van HTTP-agentitem

Maak een itemprototype met URL met behulp van gebruikersmacro, queryvelden en aangepast koppen.

Verzoek:

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

Antwoord:

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

Scriptitem maken

Maak een eenvoudige gegevensverzameling met behulp van een scriptitem.

Verzoek:

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

Antwoord:

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

Bron

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