Áú»¢¶Ä²©

itemprototype.create

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô

object itemprototype.create(object/array itemPrototypes)

Este m¨¦todo permite crear nuevos prototipos de m¨¦tricas.

Este m¨¦todo solo est¨¢ disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para llamar al m¨¦todo se pueden revocar en la configuraci¨®n del rol de usuario. Ver Roles de usuario para m¨¢s informaci¨®n.

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç²õ

(objeto/matriz) Prototipo de m¨¦trica a crear.

Adem¨¢s de las propiedades de prototipo de m¨¦trica est¨¢ndar, el m¨¦todo acepta los siguientes par¨¢metros.

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç Tipo ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
ruleid ID ID de la regla LLD a la que pertenece la m¨¦trica.

Comportamiento del par¨¢metro:
- requerido
preprocessing matriz Opciones de preprocesamiento del prototipo de m¨¦trica.
tags matriz Etiquetas del prototipo de m¨¦trica.

Valores de retorno

(objeto) Devuelve un objeto que contiene los ID de los prototipos de m¨¦trica creados bajo la propiedad itemids. El orden de las identificaciones devueltas. coincide con el orden de los prototipos de m¨¦trica pasados.

Ejemplos

Creando un prototipo de m¨¦trica

Cree un prototipo de m¨¦trica para monitorear el espacio libre en disco en un sistema de archivos descubierto. Las m¨¦tricas descubiertas deben ser m¨¦tricas num¨¦ricas del agente Áú»¢¶Ä²© actualizados cada 30 segundos.

Solicitud:

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

Respuesta:

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

Creando un prototipo de m¨¦trica con preprocesamiento

Crea una m¨¦trica usando el cambio por segundo y un multiplicador personalizado como segundo paso.

Solicitud:

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

Respuesta:

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

Creando prototipo de m¨¦trica dependiente

Cree un prototipo de m¨¦trica dependiente para el prototipo de m¨¦trica principal con ID 44211. S¨®lo se permiten dependencias en el mismo equipo (template/discovery rule), por lo tanto, la m¨¦trica princiopal y dependiente deben tener el mismo ID de equipo e ID de regla.

Solicitud:

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

Respuesta:

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

Crear prototipo de m¨¦trica de agente HTTP

Cree un prototipo de m¨¦trica con URL utilizando macro de usuario, campos de consulta y encabezados personalizados.

Solicitud:

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

Respuesta:

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

Crear prototipo de m¨¦trica de script

Cree una recopilaci¨®n de datos sencilla utilizando un prototipo de m¨¦trica de script.

Solicitud:

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

Respuesta:

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

Fuente

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