itemprototype.create

Descripció

object itemprototype.create(object/array itemPrototypes)

Aquest mètode permet crear nous prototips d'elements.

Tenim aquest mètode disponible només per als usuaris Admin i Super admin. Els permisos per cridar el mètode es poden revocar a la configuració dels rols d'usuari. Per a més informació, veieu Rols d'usuari.

Paràmetres

(object/array) Prototip d'article a crear.

A més de les [propietats estàndard del prototip d'element] (object#item_prototype), el mètode admet els paràmetres següents.

Paràmetre Tipus Descripció
ruleid string ID de la regla LLD a la qual pertany l'element

Comportament de la propietat:
- obligatori.
preprocessing array Opcions de prototip de l'element preprocessament.
tags array Etiquetes del prototip d'element.

Valors de retorn

(object) Retorna un objecte amb els IDs dels prototips d'elements creats segons la propietat itemids. L'ordre dels IDs retornats correspon a l'ordre dels prototips d'elements donats.

Exemples

Crear un prototip d'element

Crear un prototip d'element per monitorar l'espai lliure de disc d'un sistema d'arxius descobert. Els elements trobats han de tindre els elements numèrics de l'agent de Zabbix actualitzats cada 30 segons.

Petició:

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

Resposta:

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

Crear un prototip d'elememt amb preprocessament

Crear un element emprant el canvi per segon i un multiplicador a mida com a segona passa.

Petició:

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

Resposta:

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

Crear un prototipus d'element dependent

Crea un prototipus d'element dependent pel prototipus d'element principal amb l'ID 44211. Només són permeses les dependències del mateix equip (plantilla / regla de descoberta). Per tant, l'element principal i el dependent hauran de tindre els mateixos ID d'equip i de regla.

Petició:

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

Resposta:

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

Crear un prototiups d'element d'agent HTTP agent

Crear un prototip d'element amb una URL emprant una macro d'usuari, camps de cerca i capçaleres a mida.

Petició:

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

Resposta:

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

Crear un prototipus d'element d'script

Crear una col·lecció de dades simple emprant un prototipus d'element d'script.

Petició:

{
           "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"
           },
           "id": 2
       }

Resposta:

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

Font

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