Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Únase a nuestro proyecto de traducción y ayude a traducir la documentación de Zabbix a su lengua materna.

5 Preprocesamiento de CSV a JSON

Descripción general

En este paso de preprocesamiento es posible convertir datos de archivos CSV a formato JSON. Está soportado en:

  • métricas (prototipos de métricas)
  • reglas de descubrimiento de bajo nivel

Configuración

Para configurar un paso de preprocesamiento de CSV a JSON:

El primer parámetro permite establecer un delimitador personalizado. Tenga en cuenta que si la primera línea de entrada CSV comienza con "Sep=" y va seguida de un único carácter UTF-8, ese carácter se utilizará como delimitador en caso de que el primer parámetro no está configurado. Si el primer parámetro no está configurado y no se recupera un delimitador de la línea "Sep=", entonces se utiliza una coma como separador.

El segundo parámetro opcional permite establecer un símbolo de citación.

Si la casilla de verificación Con fila de encabezado está marcada, los valores de la línea de encabezado se interpretan como nombres de columnas (consulte procesamiento de encabezado para obtener más información).

Si la casilla de verificación Personalizado en caso de error está marcada, la métrica no se convertirá en no compatible en caso de que falle un paso de preprocesamiento. Además se pueden configurar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico.

Procesamiento de encabezado

La línea de encabezado del archivo CSV se puede procesar de dos maneras diferentes:

  • Si la casilla de verificación Con fila de encabezado está marcada, los valores de la línea de encabezado son interpretados como nombres de columnas. En este caso los nombres de las columnas deben ser únicos y la fila de datos no debe contener más columnas que la fila de encabezado;
  • Si la casilla de verificación Con fila de encabezado no está marcada, la línea de encabezado es interpretada como datos. Los nombres de las columnas se generan automáticamente (1,2,3,4...)

Ejemplo de archivo CSV:

Nr, nombre del artículo, clave, cantidad
       1, elemento de agente activo, agente.nombre de host, 33
       "2","elemento de agente pasivo","agent.version","44"
       3, "elementos de agente activo y pasivo", agente.ping, 55

Un carácter de comilla dentro de un campo entre comillas en la entrada debe escaparse precediéndolo de otra comilla.

Línea de encabezado de procesamiento

Salida JSON cuando se espera una línea de encabezado:

[
          {
             "Nr":"1",
             "Item name":"active agent item",
             "Key":"agent.hostname",
             "Qty":"33"
          },
          {
             "Nr":"2",
             "Item name":"passive agent item",
             "Key":"agent.version",
             "Qty":"44"
          },
          {
             "Nr":"3",
             "Item name":"active,passive agent items",
             "Key":"agent.ping",
             "Qty":"55"
          }
       ]

No header line processing

JSON output when a header line is not expected:

[
          {
             "1":"Nr",
             "2":"Item name",
             "3":"Key"
             "4":"Qty"
          },
          {
             "1":"1",
             "2":"active agent item",
             "3":"agent.hostname"
             "4":"33"
          },
          {
             "1":"2",
             "2":"passive agent item",
             "3":"agent.version"
             "4":"44"
          },
          {
             "1":"3",
             "2":"active,passive agent items",
             "3":"agent.ping"
             "4":"55"
          }
       ]