- 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 ...
Vandaag ga ik de tool Vector introduceren.
Het is een product van DataDog.
Het vervult dezelfde rol als promtail, otel en andere tools die we kennen.
Het ondersteunt log verzameling, aggregatie en transformatie.
De kenmerken zijn als volgt:
1. Geschreven in Rust in plaats van Golang
2. Makkelijker om log transformatiecode te schrijven dan bij otel
3. Declaratief beheerbaar
4. Goed geschreven officiële documentatie
Op de officiële website worden de volgende punten als voordelen genoemd, maar...
Ik vind dat de meeste voordelen ook door andere tools worden genoemd, dus ik heb ze hierboven weggelaten.
En als ik de nadelen noem die ik tijdens het gebruik heb ondervonden, dan zijn dat:
1. Niet bijgewerkte officiële documentatie
2. Moeilijk om gerelateerde informatie te vinden
Dat denk ik.
Ik heb geen grote problemen ondervonden tijdens het gebruik, maar ik vond het jammer dat er weinig gerelateerde informatie beschikbaar was en de documentatie niet up-to-date was.
Ik gebruik alleen helm, dus ik schrijf alles vanuit helm-perspectief. Excuses daarvoor....
Maak vervolgens een eenvoudige values.yaml en...
Met bovenstaande commando's kon ik de logs van k8s eenvoudig integreren met Loki.
Tijdens het schrijven van bovenstaande heb ik een paar problemen ondervonden.
Ten eerste, wanneer u customConfig schrijft, worden alle standaardopties uitgeschakeld. U moet dus source, transform en sinks zelf schrijven.
Ten tweede, vanwege de eigenschappen van k8s-logs, komen de logs regel voor regel binnen. Daarom moeten multiline-logs, zoals error traces, worden samengevoegd.
Voor source.file is er een multiline-optie, maar voor k8s is er geen enkele.
Na interne discussie binnen het Vector-team bleek dat transform.reduce ondersteund wordt en dat we dat moeten gebruiken.
Ten derde, u moet niet alleen root.data_dir instellen, maar ook data_dir binnen custom_config...
Als de waarde hier niet is ingesteld, krijgt u vaak fouten over onvoldoende rechten met betrekking tot logs... ㅎ
Ten vierde, ik heb helm gebruikt voor de implementatie, en daardoor zijn er soms dubbele syntaxis, waardoor escape nodig is.
In de documentatie staat het bijvoorbeeld als "{{ metadata }}", maar als ik dat zo kopieer, krijg ik een foutmelding...
Dus bij helm moet u het altijd escapen als "{{ {{ metadata }} }}"!
Als u vragen heeft over de architectuur, raad ik u aan om het volgende artikel te lezen.
https://vector.dev/docs/setup/deployment/topologies/
Reacties0