- Remap inspired `reduce` transform to solve multiline merging · Issue #4258 · vectordotdev/vector
- This issue proposes an idea for a new reduce transform that borrows from the new remap transform. The intent is to solve event merging, as well as other reduce-like problems, through robust reduce ...
Texto traducido por IA.
Resumen de la publicación por la IA de durumis
- Vector es una herramienta de recolección y procesamiento de logs lanzada por DataDog, desarrollada en Rust. Ofrece ventajas como una transformación de logs más sencilla que OTel y una gestión declarativa.
- Sin embargo, la falta de actualización de la documentación oficial y la escasez de recursos relacionados pueden dificultar su uso. Al implementar con Helm, se requieren configuraciones adicionales como customConfig, manejo de logs multilínea, configuración de data_dir y manejo de escapes.
- En particular, se debe prestar atención al manejo de escapes al usar Helm. Para dudas sobre la arquitectura, se recomienda consultar la sección de Topología en la documentación oficial.
Hoy voy a presentar una herramienta llamada Vector.
Es un producto desarrollado por DataDog.
Desempeña el mismo papel que otras herramientas que conocemos, como promtail y otel.
Admite la recopilación, agregación y transformación de registros.
Sus características son las siguientes:
1. Está escrito en Rust, no en Golang.
2. Es más fácil escribir código de transformación de registros que con otel.
3. Se puede gestionar de forma declarativa.
4. Documentación oficial bien escrita.
Aunque en el sitio web oficial se presentan las siguientes ventajas:
Creo que la mayoría de estas ventajas también las presentan otras herramientas, por lo que las he omitido en la lista anterior.
Y en cuanto a los inconvenientes que he encontrado al usarlo:
1. Documentación oficial no actualizada.
2. Es difícil encontrar información relacionada.
Creo que esto es todo.
Si bien no he experimentado grandes inconvenientes al usarlo, sí he echado en falta la escasez de información relacionada y la falta de actualización de la documentación.
Solo uso Helm, por lo que pido disculpas de antemano por escribirlo desde el punto de vista de Helm... 흑...
A continuación, escriba un simple archivo values.yaml y
Con este comando, pude integrar fácilmente los registros de k8s con Loki.
He encontrado algunos problemas al escribir esto.
En primer lugar, al escribir customConfig, las opciones que se aplicaban de forma predeterminada se desactivan, por lo que debe escribir source, transform y sinks usted mismo.
En segundo lugar, debido a la naturaleza de los registros de k8s, que se envían por línea, los registros multilínea como el seguimiento de errores deben fusionarse.
En source.file hay una opción para multiline, pero no existe para k8s.
Tras una discusión interna en el equipo de Vector, se llegó a la conclusión de que se admite transform.reduce y que hay que utilizarlo para ello.
En tercer lugar, además de root.data_dir, también debe configurar data_dir dentro de custom_config...
Si no está configurado, los valores se almacenan internamente de esta manera y se producen errores de falta de permisos relacionados con los registros con frecuencia... ㅎ
En cuarto lugar, he utilizado Helm para la implementación, por lo que hay algunos casos en los que se necesita escapar debido a la coincidencia de sintaxis.
Por lo tanto, en la documentación se muestra "{{ metadata }}" de la siguiente manera, y cuando lo pegué tal cual, produjo un error...
¡Así que en Helm, asegúrese de escaparlo como "{{ {{ metadata }} }}"!
Además, si tiene alguna duda sobre la arquitectura, le recomiendo que consulte el siguiente artículo.
https://vector.dev/docs/setup/deployment/topologies/