prototipodeitem.crear

Descripción

object itemprototype.create(object/array itemPrototypes)

Este método permite crear nuevos prototipos de items.

Este método solo está disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para activar el método se pueden revocar en la configuración del rol de usuario. Ver User roles para más información.

Parámetros

(object/array) Prototipo de item a crear.

standard item prototypeproperties, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
ruleid cadena ID de la regla LLD a la que pertenece el item.

preprocessing:
- requerido
object matriz Opciones de preprocesamiento del prototipo de item.
tags matriz tags del prototipo de item.

Valores de retorno

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

Ejemplos

Creando un prototipo de item

Cree un prototipo de item para monitorear el espacio libre en disco en un sistema de archivos descubierto. Los items descubiertos deben ser métricas numéricas del Zabbix Agent 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
       }

Crear un item con preprocesamiento

Cree un item utilizando el cambio por segundo y un multiplicador personalizado como un segundo paso.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Device uptime",
               "key_": "sysUpTime",
               "hostid": "11312",
               "type": 4,
               "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
               "value_type": 1,
               "delay": "60s",
               "units": "uptime",
               "interfaceid": "1156",
               "preprocessing": [
                   {
                       "type": 1,
                       "params": "0.01",
                       "error_handler": 1,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Respuesta:

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

Crear un prototipo de item dependiente

Cree un prototipo de item Dependiente para el prototipo de item Principal con ID 44211. Sólo se permiten dependencias en el mismo equipo (template/regla de descubrimiento), por lo tanto, los items Principal y Dependiente deben tener el mismo ID de host e ID de regla.

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

Respuesta:

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

Crear prototipo de item de agente HTTP

Cree un prototipo de item con URL utilizando macro de usuario, campos de consulta y encabezados personalizados.

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

Respuesta:

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

Crear item de secuencia de comandos

Cree una simple colección de datos utilizando un item de secuencia de comandos.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.item",
               "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
       }

Respuesta:

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

Fuente

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