Exportar a archivos
Resumen
Es posible configurar la exportación en tiempo real de eventos de trigger, valores de item y tendencias en un formato JSON delimitado por saltos de línea.
La exportación se realiza en archivos, donde cada línea del archivo de exportación es un objeto JSON. No se aplican asignaciones de valores.
En caso de errores (los datos no se pueden escribir en el archivo de exportación, o el archivo de exportación no se puede renombrar, o no se puede crear uno nuevo después de renombrarlo), el elemento de datos se descarta y nunca se escribe en el archivo de exportación. Solo se escribe en la base de datos de Zabbix. La escritura de datos en el archivo de exportación se reanuda cuando se resuelve el problema de escritura.
El archivo de exportación se crea con permisos de lectura y escritura solo para el propietario del archivo. Además, el archivo es legible por el grupo propietario. Todos los demás permisos están denegados.
Tenga en cuenta que host/item puede no tener metadatos (grupos de host, nombre de host, nombre de item) si el host/item se eliminó después de que se recibieron los datos, pero antes de que el server exportara los datos.
Configuración
La exportación en tiempo real de eventos de trigger, valores de item y tendencias se configura especificando un directorio para los archivos de exportación; consulte el parámetro ExportDir en la configuración del server.
Hay otros dos parámetros disponibles:
ExportFileSizepuede usarse para establecer el tamaño máximo permitido de un archivo de exportación individual. Cuando un proceso necesita escribir en un archivo, primero comprueba el tamaño del archivo. Si supera el límite de tamaño configurado, el archivo se renombra agregando .old a su nombre y se crea un nuevo archivo con el nombre original.
Se creará un archivo por cada proceso que vaya a escribir datos (es decir, aproximadamente 4-30 archivos). Como el tamaño predeterminado por archivo de exportación es 1G, conservar archivos de exportación grandes puede agotar rápidamente el espacio en disco.
ExportTypepermite especificar qué tipos de entidades (eventos, historial, tendencias) se exportarán.
Protocolo de exportación JSON delimitado por saltos de línea
Esta sección presenta detalles del protocolo de exportación en un formato JSON delimitado por saltos de línea, utilizado en:
Todos los archivos tienen la extensión .ndjson. Cada línea del archivo de exportación es un objeto JSON.
Exportación de eventos de trigger
La siguiente información se exporta para un evento de problema:
| Field | Type | Description | ||
|---|---|---|---|---|
| clock | number | Número de segundos transcurridos desde la Época hasta el momento en que se detectó el problema (parte entera). | ||
| ns | number | Número de nanosegundos que se añadirán a clock para obtener una hora precisa de detección del problema. |
||
| value | number | 1 (siempre). | ||
| eventid | number | ID del evento de problema. | ||
| name | string | Nombre del evento de problema. | ||
| severity | number | Gravedad del evento de problema (0 - No clasificado, 1 - Información, 2 - Advertencia, 3 - Promedio, 4 - Alto, 5 - Desastre). | ||
| hosts | array | Lista de hosts involucrados en la expresión del trigger; debe haber al menos un elemento en el array. | ||
| - | object | |||
| host | string | Nombre del host. | ||
| name | string | Nombre visible del host. | ||
| groups | array | Lista de grupos de hosts de todos los hosts involucrados en la expresión del trigger; debe haber al menos un elemento en el array. | ||
| - | string | Nombre del grupo de hosts. | ||
| tags | array | Lista de etiquetas del problema (puede estar vacía). | ||
| - | object | |||
| tag | string | Nombre de la etiqueta. | ||
| value | string | Valor de la etiqueta (puede estar vacío). | ||
La siguiente información se exporta para un evento de recuperación:
| Field | Type | Description |
|---|---|---|
| clock | number | Número de segundos transcurridos desde la Época hasta el momento en que se resolvió el problema (parte entera). |
| ns | number | Número de nanosegundos que se añadirán a clock para obtener una hora precisa de resolución del problema. |
| value | number | 0 (siempre). |
| eventid | number | ID del evento de recuperación. |
| p_eventid | number | ID del evento de problema. |
Ejemplos de exportación de eventos de trigger
Problema:
{"clock":1519304285,"ns":123456789,"value":1,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"eventid":42, "hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
Recuperación:
{"clock":1519304345,"ns":987654321,"value":0,"eventid":43,"p_eventid":42}
Problema (generación de múltiples eventos de problema):
{"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
{"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
Recuperación:
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":43}
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":42}
Exportación del valor del item
La siguiente información se exporta para un valor de item recopilado:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | Nombre del host del item. | ||
| host | string | Nombre del host. | ||
| name | string | Nombre visible del host. | ||
| groups | array | Lista de grupos de host del host del item; debe haber al menos un elemento en el array. | ||
| - | string | Nombre del grupo de host. | ||
| item_tags | array | Lista de etiquetas del item (puede estar vacía). | ||
| - | object | |||
| tag | string | Nombre de la etiqueta. | ||
| value | string | Valor de la etiqueta (puede estar vacío). | ||
| itemid | number | ID del item. | ||
| name | string | Nombre visible del item. | ||
| clock | number | Número de segundos desde la época Unix hasta el momento en que se recopiló el valor (parte entera). | ||
| ns | number | Número de nanosegundos que se añadirán a clock para obtener un momento de recopilación del valor más preciso. |
||
| timestamp (Log only) |
number | 0 si no está disponible. | ||
| source (Log only) |
string | Cadena vacía si no está disponible. | ||
| severity (Log only) |
number | 0 si no está disponible. | ||
| eventid (Log only) |
number | 0 si no está disponible. | ||
| value | number (for numeric items) or string (for text items) |
Valor del item recopilado. | ||
| type | number | Tipo de valor recopilado: 0 - flotante numérico, 1 - carácter, 2 - log, 3 - entero sin signo, 4 - texto, 5 - binario, 6 - JSON |
||
Ejemplo de exportación del valor de item
Valor numérico (sin signo):
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":3,"name":"Agent availability","clock":1519304285,"ns":123456789,"value":1,"type":3}
Valor numérico (decimal):
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":4,"name":"CPU Load","clock":1519304285,"ns":123456789,"value":0.1,"type":0}
Valor de carácter, texto:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":2,"name":"Agent version","clock":1519304285,"ns":123456789,"value":"3.4.4","type":4}
Valor de log:
{"host":{"host":"Host A","name":"Host A visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":1,"name":"Messages in log file","clock":1519304285,"ns":123456789,"timestamp":1519304285,"source":"","severity":0,"eventid":0,"value":"log file message","type":2}
Exportación de tendencias
La siguiente información se exporta para un valor de tendencia calculado:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | Nombre del host del host del item. | ||
| host | string | Nombre del host. | ||
| name | string | Nombre visible del host. | ||
| groups | array | Lista de grupos de host del host del item; debe haber al menos un elemento en el array. | ||
| - | string | Nombre del grupo de host. | ||
| item_tags | array | Lista de etiquetas del item (puede estar vacía). | ||
| - | object | |||
| tag | string | Nombre de la etiqueta. | ||
| value | string | Valor de la etiqueta (puede estar vacío). | ||
| itemid | number | ID del item. | ||
| name | string | Nombre visible del item. | ||
| clock | number | Número de segundos transcurridos desde la época Unix hasta el momento en que se recopiló el valor (parte entera). | ||
| count | number | Número de valores recopilados para una hora determinada. | ||
| min | number | Valor mínimo del item para una hora determinada. | ||
| avg | number | Valor promedio del item para una hora determinada. | ||
| max | number | Valor máximo del item para una hora determinada. | ||
| type | number | Tipo de valor: 0 - flotante numérico, 3 - entero numérico sin signo |
||
Ejemplos de exportación de tendencias
Valor numérico (sin signo):
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":3,"name":"Agent availability","clock":1519311600,"count":60,"min":1,"avg":1,"max":1,"type":3}
Valor numérico (decimal):
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":4,"name":"CPU Load","clock":1519311600,"count":60,"min":0.01,"avg":0.15,"max":1.5,"type":0}