Un plugin de filtrado de datos determina qué registros se deben recopilar según las condiciones especificadas.
Descripción general del plugin de filtrado de datos
Log Service ofrece varios plugins de filtrado de datos. Elija uno según sus requisitos.
|
Nombre del plugin |
Tipo |
Descripción |
|
Procesador de filtrado |
integrado |
Recopila únicamente los registros cuyo valor de campo coincide exactamente con un patrón de lista de permitidos especificado. |
|
filter_regex |
personalizado |
Admite los siguientes modos de filtrado:
|
Punto de entrada
Para usar un plugin de Logtail en el procesamiento de registros, agréguelo al crear o modificar una configuración de Logtail. Para obtener más información, consulte Overview.
Diferencias entre plugins integrados y personalizados
Plugins integrados: implementados en C++ para ofrecer un alto rendimiento.
Plugins personalizados: implementados en Go para brindar flexibilidad y un ecosistema amplio. Si los registros de su servicio son demasiado complejos para los plugins integrados, considere utilizar un plugin personalizado.
-
Limitaciones de rendimiento de los plugins personalizados
El uso de un plugin personalizado para procesar registros consume más recursos de LoongCollector, principalmente CPU. Si es necesario, puede usar configuration management para ajustar la configuración de parámetros de LoongCollector.
Si la tasa de generación de datos sin procesar supera los 5 MB/s, evite usar combinaciones complejas de plugins. En su lugar, utilice un plugin personalizado para un procesamiento sencillo y, posteriormente, data transformation para un procesamiento avanzado.
-
Limitaciones en la recopilación de registros
Los plugins personalizados procesan registros de texto en modo de línea y almacenan metadatos a nivel de archivo, como
__tag__:__path__y__topic__, en cada entrada de registro.-
Agregar un plugin personalizado afecta las funciones relacionadas con etiquetas:
La consulta de contexto y la función LiveTail no están disponibles. Para utilizar estas funciones, debe agregar una configuración de agregadores.
El campo
__topic__se renombra a__log_topic__. Si agrega una configuración de agregadores, tanto el campo__topic__como el campo__log_topic__estarán presentes en los registros. Si no necesita el campo__log_topic__, puede usar processor_drop plugin para eliminarlo.Campos como
__tag__:__path__ya no cuentan con un índice de campo integrado. Debe create a field index para ellos.
Plugin de filtro nativo
El plugin de filtro nativo filtra los registros según sus valores de campo.
Configuración
|
Parámetro |
Descripción |
|
Whitelist |
Defina una lista de permitidos para recopilar solo los registros que cumplan condiciones específicas. Debe especificar el nombre del campo objetivo y una expresión regular para el filtrado. La expresión regular debe coincidir con toda la cadena; no se admiten coincidencias parciales. Para obtener detalles sobre cómo escribir una expresión regular, consulte Regular Expression Tutorial. Las múltiples condiciones en la lista de permitidos se unen mediante un AND lógico. A continuación se muestran algunos ejemplos:
|
Plugins de filtrado de registros (avanzado)
Utilice el plugin processor_filter_regex o el plugin processor_filter_key_regex para filtrar registros. Este tema describe los parámetros y proporciona ejemplos de configuración para cada plugin.
Limitaciones
La configuración basada en formularios está disponible únicamente para registros de texto y salida estándar de contenedores. Para todas las demás fuentes, debe utilizar la configuración basada en JSON.
-
El motor de expresiones regulares de Go se basa en RE2 y presenta las siguientes limitaciones en comparación con el motor PCRE:
-
Diferencias de sintaxis en grupos de captura con nombre
Go utiliza la sintaxis
(?P<name>...), mientras que PCRE usa(?<name>...). -
Patrones de expresiones regulares no compatibles
Lookaround:
(?=...),(?!...),(?<=...)y(?<!...).Expresiones condicionales:
(?(condition)true|false).Coincidencia recursiva:
(?R)y(?0).Referencias a subrutinas:
(?&name)y(?P>name).Grupos atómicos:
(?>...).
Cuando depure expresiones regulares con herramientas como Regex101, evite usar los patrones no compatibles listados anteriormente para prevenir fallos en el procesamiento.
-
processor_filter_regex (Filtrar por valor)
processor_filter_key_regex (Filtrar por clave)
Referencias
-
Configure un pipeline de Logtail mediante la API:
-
Configure un plugin de procesador en la consola:
Collect container logs (stdout/file) from a cluster using a Kubernetes CRD