Puede personalizar la configuración del analizador JSON para analizar de forma selectiva el registro JSON.

Puede configurar analizadores de valores separados por comas (CSV) para recopiladores FileLog y WinLog. Solo los registros JSON válidos se analizan con el analizador JSON de Log Insight Agent. Los analizadores de registros JSON que no son válidos devuelven resultados vacíos.

La configuración predeterminada del analizador JSON extrae todos los campos del registro JSON mediante el agente de Log Insight. Cuando el registro JSON se representa como un objeto JSON complejo, que también puede contener objetos JSON, el analizador utiliza un guion bajo (_) para concatenar los nombres de los objetos JSON anidados de mayor nivel. Esto genera un nombre de campo informativo para los elementos correspondientes. Si el registro JSON también contiene una matriz, los nombres de los elementos miembro contienen el nombre de la matriz seguido del índice del elemento en la matriz.

El analizador JSON también proporciona una opción específica, conocida como fields.

Opción "fields" del analizador JSON

Puede usar la opción fields para especificar los campos que se han analizado en la configuración. El propósito de esta opción es habilitar el análisis selectivo del registro JSON.
Nota: Para el análisis selectivo, debe especificar la ruta de acceso al elemento JSON deseado. Los objetos JSON de niveles diferentes deben estar separados por un punto (.).

La siguiente lista proporciona configuraciones de ejemplo que permiten analizar de manera selectiva el registro JSON, según sea necesario.

  • Para analizar más de un elemento del registro JSON, los elementos deseados deben aparecer como parámetros para la opción fields y estar separados por comas. Consulte el siguiente ejemplo:
    {"operation" : {"timestamp" :
            "2018-11-22T15:28:58.094000", "thread_id" : "0x05673", "initiator" : "connector",
            "log_severity" : "info", "log_message" : "Requested connection to the server."},
            "operation_result" : "success"}
  • Para analizar solo los objetos JSON más internos, como timestamp, log_severity y log_message, consulte el siguiente ejemplo. Esta configuración de ejemplo produce los siguientes resultados de campo: operation_timestamp ="2018-11-22T15:28:58.094000" y operation_log_severity ="info"
    [parser|json_parser]
    base_parser=json
    fields=operation.timestamp,operation.log_severity, operation.log_message
  • Para analizar el objeto JSON completo, incluya la ruta de acceso al objeto seguida de un asterisco (*).
    {"product_name" : "LI Agent",
            "operation" : {"timestamp" : "2018-11-22T15:28:58.094000", "thread_id" :
            "0x05673", "initiator" : "connector", "log_severity" : "info", "log_message" :
            "Requested connection to the server."}, "operation_result" :
          "success"}
  • Para analizar solo el objeto operation, utilice la siguiente configuración:
    [parser|json_parser]
    base_parser=json
    fields=operation.*
  • Si el registro JSON contiene una matriz y desea analizar solo elementos específicos de la matriz, utilice el índice de elementos de la matriz en la configuración, como se muestra en esta configuración de ejemplo:
    {           
          "Records": [{                                 
                 "object":{                                               
                    "key": "/events/mykey",                                               
                    "size": 502,                                               
                    "eTag": "091820398091823",                                               
                    "sequencer": "1123123"                                   
                }                       
           },                       
          {                                  
                "object":{                                               
                      "key": "/events/user_key",                                               
                      "size": 128,                                               
                      "eTag": "09182039000001",                                               
                      "sequencer": "1123231"                                   
                }                        
            },                        
            {                                   
               "object":{                                               
                     "key": "/events/admin_key",                                               
                     "size": 1024,                                               
                     "eTag": "09182039547241",                                               
                     "sequencer": "1123213"                                   
                }                      
            }           
         ] 
    }
  • Para analizar solo los elementos key y size del mismo registro, utilice la siguiente configuración para generar los siguientes campos:

    records0_object_key="/events/mykey"

    records0_object_size=502

    records2_object_key="/events/admin_key"

    records2_object_size=1024

    [parser|json_parser]
    base_parser=json
    fields = Records0.object.key Records0.object.size, Records2.object.key, Records2.object.size
  • Para analizar el campo key para todos los elementos de la matriz, utilice la siguiente configuración:
    [parser|json_parser]
    base_parser=json
    fields=Records.#.object.key
  • Para analizar todos los campos, utilice la opción "fields" con un asterisco (*). Esta configuración equivale a la configuración predeterminada del analizador JSON.
    [parser|json_parser]
    base_parser=json
    fields=*