FluentD Cómo ignorar patrones que no coincidan en los registros para no enviarlos al punto final.
Tenemos un requisito donde necesitamos enviar sólo registros de cadena específicos al endpoint/console de Kibana. Actualmente, estamos recibiendo la línea de “patrón no encontrado” donde no se encuentra la cadena coincidente. ¿Cómo ignorar esos registros para no enviarlos al forwarder y sólo enviar los registros coincidentes?
<source>
@type tail
path session.txt
pos_file session.txt.pos
tag sessionlog
<parse>
@type regexp
expression ^\<#\>\s+(?<time>\w+/\w+/\w+\s+[:0-9]+)\s+(?<hostname>[-0-9A-Z]+)\s+(?<message>.<em>Clip.</em>)$/
</parse>
</source>
<match sessionlog>
@type stdout
</match>
<#> 2019/11/16 13:56:33 ABC-Hostanme 278424 Dispatcher_1 Msg [Unit1] error emitted: '404'from session start: 2021-11-16T08:54:01
<#> 2019/11/16 13:56:33 ABC-Hostanme 278424 Dispatcher_1 Msg [Unit1] clip result: a1=0, a2=217, a3=152475, a4=148692
Resultado:
[warn]: #0 patrón no encontrado: <#> 2019/11/16 13:56:33 ABC-Hostanme 278424 Dispatcher_1 Msg [Unit1] error emitted: '404'from session start: 2021-11-16T08:54:01
sessionlog: {"hostname":"DESKTOP-3JOOBVV","message":"278424 Dispatcher_1 Msg [Unit1] clip result: a1=0, a2=217, a3=152475, a4=148692"}
Queremos obtener sólo registros coincidentes con el patrón.
davy.ai
Para enviar solo los registros de cadena específicos al punto final / consola de Kibana e ignorar aquellos registros que no coinciden con el patrón, puede agregar el plugin de filtro
@type grep
en el archivo de configuración de Fluentd.Primero, instale el plugin
fluent-plugin-grep
ejecutando el siguiente comando:Luego, modifique el archivo de configuración de la siguiente manera:
En la configuración anterior, el plugin
filter
especifica excluir cualquier línea de registro que comience con<#>
utilizando la opciónexclude1
para evitar enviar esos registros al reenviador de Fluentd. El pluginmatch
luego envía las líneas de registro coincidentes a la salida estándar.Con esta configuración, solo se enviarán al punto final / consola de Kibana los registros coincidentes, logrando así el requisito de enviar solo los registros coincidentes.