Descripción general

Cree reglas grok personalizadas para el parseo del mensaje completo o de un atributo específico de su evento sin procesar. Como práctica recomendada, limite su analizador grok a 10 reglas de parseo. Para obtener más información sobre la sintaxis de Grok y las reglas de parseo, consulte Parseo.

Configuración del analizador Grok

Casos de uso

El analizador grok se utiliza principalmente para analizar atributos del mensaje de su registro. Por ejemplo, los registros de NGINX tienen un mensaje que contiene múltiples piezas de información que podría querer extraer.

Después de crear una regla grok, el analizador puede escribir la dirección IP, el usuario, la marca de tiempo de la solicitud, el método de solicitud, la URL, la versión, el código de estado y los bytes.

Configuración

Defina el procesador Grok en la Pipelines página. Para configurar las reglas de parseo de Grok:

  1. Haga clic en Add Grok Parser para abrir una nueva configuración de analizador.
  2. Log Samples: Las muestras de registros se extraen automáticamente a la sección de Muestras de registros. También puede agregar más muestras de registros (hasta 10 en total, 5000 caracteres cada una). Nota: Los registros de muestra se extraen de los cinco patrones de registro con mayor volumen que coinciden con el filtro de su pipeline.
  3. Log Samples: Agregue hasta cinco registros de muestra (hasta 5000 caracteres cada uno) para probar sus reglas de parseo.
  4. Define parsing rules: Haga clic en Auto parsing para generar reglas que coincidan con sus muestras.

    El parseo automático no está disponible para su sitio de Datadog seleccionado ().

  5. Test your rules: Haga clic en una muestra para activar su evaluación frente a la regla de parseo y mostrar el resultado a la derecha de la pantalla. Todas las muestras muestran un estado (match o no match), que resalta si una de las reglas de parseo del analizador grok coincide con la muestra.

Estado de los registros antes y después

Antes (registro sin procesar):

192.168.1.1 - john [10/Oct/2023:13:55:36 +0000] "GET /api/users HTTP/1.1" 200 1234

Regla de parseo Grok:

access.common %{ipOrHost:network.client.ip} %{notSpace:http.ident} %{notSpace:http.auth} \[%{httpdate:date}\] "(?>%{word:http.method} |)%{notSpace:http.url}(?: HTTP/%{number:http.version}|)" %{number:http.status_code} (?>%{number:network.bytes_written}|-)

Después del procesamiento:

{
 "network": {
   "client": {
     "ip": "192.168.1.1"
   },
   "bytes_written": 1234
 },
 "http": {
   "ident": "-",
   "auth": "john",
   "method": "GET",
   "url": "/api/users",
   "version": "1.1",
   "status_code": 200
 },
 "date": 1696945536000
}

El analizador grok transforma mensajes de registro no estructurados en atributos JSON estructurados que pueden ser consultados, filtrados y analizados en el Log Explorer.

API

Utilice el punto de conexión de la API de Datadog Log Pipeline con la siguiente carga útil JSON del analizador grok:

{
  "type": "grok-parser",
  "name": "Parsing Log message",
  "is_enabled": true,
  "source": "message",
  "samples": ["sample log 1", "sample log 2"],
  "grok": {"support_rules": "<SUPPORT_RULES>", "match_rules": "<MATCH_RULES>"}
}
ParámetroTipoRequeridoDescripción
typeCadenaSíTipo del procesador.
nameCadenaNoNombre del procesador.
is_enabledBooleanoNoSi el procesador está habilitado o no. Predeterminado: false.
sourceCadenaSíNombre del atributo de registro a parsear. Predeterminado: message.
samplesMatriz de cadenasNoLista de (hasta 5) registros de muestra para este analizador grok.
grok.support_rulesCadenaSíLista de reglas de soporte para su analizador grok.
grok.match_rulesCadenaSíLista de reglas de coincidencia para su analizador grok.

Lecturas adicionales