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.
Parámetro | Tipo | Descripción |
---|---|---|
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. |
(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.
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 Zabbix actualizados cada 30 segundos.
{
"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:
Crea una métrica usando el cambio por segundo y un multiplicador personalizado como segundo paso.
{
"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:
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.
{
"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:
Cree un prototipo de métrica con URL utilizando macro de usuario, campos de consulta y encabezados personalizados.
{
"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:
Cree una recopilación de datos sencilla utilizando un prototipo de métrica de script.
{
"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:
CItemPrototype::create() en ui/include/classes/api/services/CItemPrototype.php.