- 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 ...
Aujourd'hui, nous allons présenter l'outil Vector.
Il s'agit d'un produit issu de DataDog.
Il joue le rôle de promtail, otel, etc., que nous connaissons.
Il prend en charge la collecte, l'agrégation et la transformation des logs.
Ses caractéristiques sont les suivantes :
1. Écrit en Rust au lieu de Golang
2. Plus facile à écrire le code de transformation des logs qu'avec otel
3. Gestion déclarative possible
4. Documentation officielle bien écrite
Bien que le site officiel mette en avant les points suivants comme avantages...
La plupart de ces avantages sont également mis en avant par d'autres outils, c'est pourquoi je les ai omis ci-dessus.
Et en ce qui concerne les inconvénients rencontrés lors de son utilisation :
1. Documentation officielle non mise à jour
2. Difficulté à trouver des informations connexes
Je pense que c'est à peu près tout.
Je n'ai pas rencontré de problèmes majeurs lors de son utilisation, mais j'ai trouvé dommage que la documentation ne soit pas mise à jour et que les informations connexes soient rares.
Je m'excuse par avance d'écrire uniquement en fonction de Helm, car je ne l'utilise que pour Helm….
Ensuite, créez un fichier values.yaml simple comme suit :
Grâce à cette commande, nous avons pu intégrer facilement les logs de k8s à Loki.
J'ai rencontré quelques problèmes lors de la rédaction de ce document.
Premièrement, lors de la création de customConfig, les options appliquées par défaut sont toutes désactivées, vous devez donc écrire vous-même les sources, les transformations et les puits.
Deuxièmement, étant donné que les logs de k8s sont entrés ligne par ligne, les logs multilignes tels que les traces d'erreurs doivent être fusionnés.
Pour cela, il existe une option multiline dans source.file, mais elle n'est pas disponible pour k8s.
Après discussion interne avec l'équipe Vector, il a été décidé que transform.reduce était pris en charge et qu'il fallait l'utiliser pour cela.
Troisièmement, il faut configurer non seulement root.data_dir, mais aussi data_dir à l'intérieur de custom_config...
Si cette valeur n'est pas définie, des erreurs de manque de droits concernant les logs sont souvent générées... ㅎ
Quatrièmement, j'ai effectué le déploiement à l'aide de Helm, ce qui a entraîné des chevauchements de syntaxe et a nécessité l'utilisation d'échappements.
C'est pourquoi, dans la documentation, il est écrit "{{ metadata }}", et j'ai utilisé tel quel, ce qui a généré une erreur...
Il faut donc absolument utiliser un échappement sous la forme "{{ {{ metadata }} }}" avec Helm !
Pour toute question concernant l'architecture, je vous recommande de consulter l'article suivant :
https://vector.dev/docs/setup/deployment/topologies/
Commentaires0