Extracción de valores específicos como claves JSON

En IBM® Cloud Logs, puede utilizar la regla Extraer para extraer valores específicos que necesita como claves JSON sin tener que analizar todo el registro.

A diferencia de una regla de análisis, una regla de extracción deja intacto el registro original y le añade campos en la raíz.

Antes de empezar

Las reglas de análisis se organizan dentro de Grupos de reglas. Cada grupo tiene un nombre y un conjunto de reglas con una relación lógica entre ellos. Los registros se procesan según el orden del grupo de reglas (desde el principio hasta el final). A continuación, se procesan mediante el orden de las reglas dentro del grupo de reglas y de acuerdo con los operadores lógicos entre ellas (AND/OR). Las reglas le ayudan a procesar, analizar y reestructurar datos de registro para prepararse para la supervisión y el análisis. Para obtener más información, consulte Trabajar con grupos de reglas.

Utilización de grupos capturados con nombre para definir campos nuevos

La regla de extracción utiliza grupos de captura RegEx-named para definir nuevos campos.

  • Los grupos capturados se convierten en los campos de registro analizados.
  • El valor asociado a cada grupo se convierte en el valor del campo.
  • RegEx no tiene que coincidir con todo el registro.
  • Sólo los grupos de captura con nombre RegEx (los valores dentro de < >) y el valor que capturan forman parte del registro reconstruido.

Configuración de una regla de extracción

Complete los pasossiguientes:

  1. Pulse el icono Conducto de datos icono Conducto de datos > Reglas de análisis y pulse Nuevo grupo de reglas.

  2. En la sección Detalles, especifique el Nombre de grupo de reglas y la Descripción de grupo de reglas.

  3. En la sección Buscador de coincidencias de reglas, configure las aplicaciones, subsistemas y gravedades que definen los registros en los que aplicar las reglas que se incluyen en el grupo de reglas.

  4. En la sección Reglas, seleccione Extraer icono Extraer regla de análisis.

    1. Especifique un nombre.

    2. Puede especificar una descripción opcional.

    3. Seleccione un campo fuente. Es el campo en el que se aplica RegEx.

    4. Especifique la Expresión regular (RegEx).

    5. Conmute el estado a ACTIVE si desea que la regla esté habilitada.

  5. Añada grupos de reglas adicionales pulsando Añadir regla y seleccionando el tipo de regla deseado. Conmute AND/OR para seleccionar cómo desea que se procesen las reglas adicionales.

  6. Haga clic en Crear grupo de reglas.

Ejemplo: Creación de dos campos nuevos

El ejemplo siguiente extrae información del mensaje de campo y crea dos campos nuevos, 'bytes' y 'estado' que se pueden consultar y visualizar.

El registro original es:

{"level":"INFO", "message": "200 bytes sent status is OK"}

RegEx es:

message"\s*:\s*"(?P<bytes>\d+)\s*.*?status\sis\s(?P<status>[^"]+)

El registro formateado es:

{
    "level": "INFO",
    "message": "200 bytes sent status is OK",
    "Bytes": "200",
    "status": "OK"
}

Si el registro original no está estructurado, los campos se añaden basándose en los grupos de captura con nombre y el registro original se almacena dentro de un campo denominado text. Utilizando el ejemplo anterior, cambia el registro original para que no esté estructurado.

El registro original:

"level":"INFO", "message": "200 bytes sent status is OK",

El registro resultante:

{
    "bytes": "200",
    "text": "\"level\":\"INFO\", \"message\": \"200 bytes sent status is OK\"",
    "status": "OK"
}