Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Question regarding multi-format + multi-line

Abierto
#85 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
15/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Área
tooling

Línea de trabajo

El issue proporciona una configuración de origen de Fluentd usando multiline_grok, pero no indica ningún archivo de implementación, prueba ni cambio específico. Empieza revisando el comportamiento existente de multiline_grok en el parser y la documentación de configuración; esto solo estará completo cuando se haya establecido claramente la compatibilidad con la configuración solicitada de múltiples formatos y múltiples líneas, o se haya definido una implementación acotada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi,

I have a question rather than an issue.

Does the fluent-plugin-grok-parser support multi-line and multi-format?

I am tailing multiple log4j2 log files. Each of them may have a different format and include stack traces or other multi-line messages.

Is it possible to use the grok parser in this situation? If not then any guidance on how to accomplish this would be greatly appreciated.

Here is a copy of my config's <source> element:

<source>
  @type tail
  @id eap_app_log_tail_source
  path /var/log/applogs/app1.log, /var/log/applogs/app2.log,/var/log/applogs/app3.log
  pos_file /var/log/td-agent/eap-apps.log.pos
  path_key log_file  
  tag jboss.node.eap.app.logs
  <parse>
    @type multiline_grok
    grok_failure_key grokfailure 
    <grok>
        pattern ^%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{JAVACLASS:logger-class} %{GREEDYDATA:message}$
        multiline_start_regexp   /\d{4}-\d{1,2}-\d{1,2}/
    </grok>	  
    <grok>
        pattern ^%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{LOGLEVEL:loglevel} \[(?<thread>[A-Za-z0-9_  \-]+)\] {} - %{GREEDYDATA:message}$
        multiline_start_regexp   /\d{4}-\d{1,2}-\d{1,2}/
    </grok>
    <grok>
        pattern ^%{LOGLEVEL:loglevel}%{SPACE}%{TIMESTAMP_ISO8601:timestamp} \[(?<thread>[A-Za-z0-9_  \-]+)\] - %{GREEDYDATA:message}$
        multiline_start_regexp   /([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?))(?:\s*)/
    </grok>	    
 </parse>
</source>
Lenguaje dominante
Ruby
Estrellas
108
Forks
32
Merge medio
1 h 47 min
PR fusionados (30 d)
2

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de fluent/fluent-plugin-grok-parser

Todos los issues de fluent/fluent-plugin-grok-parser

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.