item.create
Descripción
object item.create(object/array items)
Este método permite crear nuevas métricas.
Las métricas web no se pueden crear a través de la API de Zabbix.
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.
Parámetros
(objeto/matriz) Métricas a crear.
Además de las [propiedades estándar de la métrica] (object#host), el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| preprocessing | matriz | Opciones de preprocesamiento de la métrica. |
| tags | matriz | Etiquetas de la métrica. |
Valores de retorno
(object) Devuelve un objeto que contiene los IDs de las métricas creadas
bajo la propiedad "itemids". El orden de los IDs devueltos coincide con el
orden de las métricas pasadas.
Ejemplos
Creando una métrica
Cree una métrica numérica de agente de Zabbix con 2 etiquetas de métrica para monitorear el espacio libre en disco en el host con ID "30074".
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Free disk space on /home/joe/",
"key_": "vfs.fs.size[/home/joe/,free]",
"hostid": "30074",
"type": 0,
"value_type": 3,
"interfaceid": "30084",
"tags": [
{
"tag": "Disk usage"
},
{
"tag": "Equipment",
"value": "Workstation"
}
],
"delay": "30s"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24758"
]
},
"id": 1
}
Creando un métrica de inventario de equipo
Cree una métrica de agente Zabbix para completar el campo de inventario "SO" del equipo.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "uname",
"key_": "system.uname",
"hostid": "30021",
"type": 0,
"interfaceid": "30007",
"value_type": 1,
"delay": "10s",
"inventory_link": 5
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24759"
]
},
"id": 1
}
Creando una métrica con preprocesamiento
Crea una métrica usando un multiplicador personalizado.
{
"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": ""
}
]
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44210"
]
},
"id": 1
}
Creando elemento dependiente
Cree una métrica dependiente para la métrica principal con ID 24759. Sólo se permiten dependencias en el mismo equipo, por lo tanto, la métrica principal y la dependiente deben tener el mismo ID de host.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"hostid": "30074",
"name": "Dependent test item",
"key_": "dependent.item",
"type": 18,
"master_itemid": "24759",
"value_type": 2
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Crear una métrica de agente HTTP
Cree una métrica de método de solicitud POST con preprocesamiento de respuesta JSON.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"url":"http://127.0.0.1/http.php",
"query_fields": [
{
"mode":"json"
},
{
"min": "10"
},
{
"max": "100"
}
],
"interfaceid": "1",
"type": 19,
"hostid": "10254",
"delay": "5s",
"key_": "json",
"name": "HTTP agent example JSON",
"value_type": 0,
"output_format": 1,
"preprocessing": [
{
"type": 12,
"params": "$.random",
"error_handler": 0,
"error_handler_params": ""
}
]
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Crear una métrica de script
Cree una colección de datos simple utilizando una métrica de script.
{
"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 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
CItem::create() en ui/include/classes/api/services/CItem.php.