object itemprototype.create(object/array itemPrototypes)
Este método permite crear nuevas métricas prototipo.
Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.
(objeto/array)
Prototipo de métrica a crear.
Además de las propiedades estándar del prototipo de métrica, el método acepta los siguientes parámetros.
Parámetro | Tipo | Descripción |
---|---|---|
ruleid | ID | ID de la regla LLD a la que pertenece la métrica. Comportamiento del parámetro: - obligatorio |
preprocessing | array | Opciones de preprocesamiento del prototipo de métrica. |
tags | array | Etiquetas del prototipo de métrica. |
(object)
Devuelve un objeto que contiene los IDs de las métricas prototipo creadas bajo la propiedad itemids
. El orden de los IDs devueltos coincide con el orden de las métricas prototipo enviadas.
Cree una métrica prototipo para monitorizar el espacio libre en disco en un sistema de archivos descubierto. Las métricas descubiertas deben ser métricas numéricas del agente Zabbix actualizadas cada 30 segundos.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Espacio libre en disco en {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}
Respuesta:
Cree una métrica utilizando el cambio por segundo y un multiplicador personalizado como segundo paso.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Tráfico de red entrante en {#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:
Cree un prototipo de métrica dependiente para el prototipo de métrica principal con ID 44211. Solo se permiten dependencias en el mismo equipo (plantilla/regla de descubrimiento), por lo tanto, la métrica principal y la dependiente deben tener el mismo hostid y ruleid.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"hostid": "10001",
"ruleid": "27665",
"name": "Prototipo de métrica dependiente de prueba",
"key_": "dependent.prototype",
"type": 18,
"master_itemid": "44211",
"value_type": 3
},
"id": 1
}
Respuesta:
Crear prototipo de métrica con URL usando macro de usuario, campos de consulta y cabeceras personalizadas.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"type": "19",
"hostid": "10254",
"ruleid": "28256",
"interfaceid": "2",
"name": "ejemplo de prototipo de métrica api",
"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:
Cree una recopilación de datos simple utilizando un prototipo de métrica de script.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Ejemplo de script",
"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:
CItemPrototype::create() en ui/include/classes/api/services/CItemPrototype.php.