- 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 ...
Heute werde ich das Tool Vector vorstellen.
Es stammt von DataDog.
Es übernimmt die Rolle von Tools wie promtail und otel, die wir kennen.
Es unterstützt die Log-Sammlung, -Aggregation und -Transformation.
Die Merkmale sind wie folgt:
1. Es ist in Rust statt in Golang geschrieben.
2. Im Vergleich zu otel ist es einfacher, Log-Transformationscode zu schreiben.
3. Deklarative Verwaltung möglich.
4. Gut geschriebene offizielle Dokumentation.
Auf der offiziellen Website werden zwar die folgenden Punkte als Vorteile hervorgehoben,
aber die meisten dieser Vorteile werden auch von anderen Tools angepriesen, daher habe ich sie oben ausgelassen.
Und wenn ich die Nachteile erwähne, die ich bei der Verwendung festgestellt habe, dann sind das:
1. Nicht aktualisierte offizielle Dokumentation.
2. Schwierigkeit, relevante Informationen zu finden.
Ich denke, das wäre es dann.
Während der Nutzung gab es keine großen Unannehmlichkeiten, aber das Fehlen relevanter Informationen und die nicht aktualisierte Dokumentation waren sehr schade.
Ich entschuldige mich im Voraus, dass ich mich aufgrund der ausschließlichen Verwendung von Helm auf Helm beziehe... 흑....
Erstellen Sie anschließend eine einfache values.yaml-Datei und
Mit dem obigen Befehl konnte ich die Logs aus k8s einfach mit Loki integrieren.
Bei der Erstellung gab es ein paar Probleme.
Erstens: Wenn Sie customConfig erstellen, werden alle standardmäßig angewendeten Optionen deaktiviert, sodass Sie Source, Transform und Sinks selbst schreiben müssen.
Zweitens: Aufgrund der Eigenschaften von k8s-Logs, die zeilenbasiert eingehen, müssen mehrzeilige Logs wie Fehlerverfolgungen zusammengeführt werden.
Für source.file gibt es zwar eine Option für mehrzeilige Logs, aber für k8s gibt es keine.
Nach einer internen Diskussion im Vector-Team wurde transform.reduce als Lösung vorgeschlagen und unterstützt.
Drittens musste ich nicht nur root.data_dir, sondern auch data_dir innerhalb von custom_config konfigurieren...
Wenn der Wert nicht konfiguriert ist, treten häufig Fehler aufgrund fehlender Berechtigungen im Zusammenhang mit Logs auf... ㅎ
Viertens habe ich Helm für die Bereitstellung verwendet, was zu einigen Überschneidungen in der Syntax führte und Escape-Sequenzen erforderlich machte.
In der Dokumentation steht es wie folgt "{{ metadata }}", aber wenn ich es so einfüge, gibt es einen Fehler...
Daher müssen Sie bei Helm unbedingt "{{ {{ metadata }} }}" verwenden, um die Escape-Sequenz anzuwenden!
Wenn Sie darüber hinaus Fragen zur Architektur haben, empfehle ich Ihnen, den folgenden Artikel zu lesen.
https://vector.dev/docs/setup/deployment/topologies/
Kommentare0