In dieser Woche wurde die Version 0.3.0 des kostenlosen Tools Vector veröffentlicht, das zur Sammlung, Umwandlung und Speicherung von Protokolldaten, Metriken und Ereignissen dient.
Da es in der Programmiersprache Rust geschrieben ist, zeichnet es sich durch hohe Leistung und geringen Speicherverbrauch im Vergleich zu Alternativen aus. Außerdem wird großer Wert auf Korrektheitsfunktionen gelegt, insbesondere auf die Möglichkeit, nicht gesendete Ereignisse im Pufferspeicher auf der Festplatte zu speichern und Dateien zu rotieren.
Architektonisch ist Vector ein Ereignisrouter, der Nachrichten von einem oder mehreren Quellen, optional Transformationen auf diese Nachrichten anwendend Transformationen, und sie an einen oder mehrere Ziele.
Die folgenden Funktionen wurden implementiert
Quellen
- file — kontinuierliches Lesen von Ereignissen aus einer oder mehreren lokalen Dateien;
- statsd — kontinuierliches Empfangen von Ereignissen über das StatsD-Protokoll über UDP;
- stdin — kontinuierliches Lesen von Ereignissen aus dem Standard-Eingabestrom;
- syslog — kontinuierliches Empfangen von Ereignissen über das Syslog 5424-Protokoll;
- tcp — kontinuierliches Lesen von Ereignissen aus einem TCP-Socket;
- vector — Empfangen von Ereignissen aus einer anderen Vector-Instanz.
Transformationen
- add_fields — Hinzufügen von zusätzlichen Feldern zu Ereignissen;
- field_filter — Filtern von Ereignissen nach dem Wert eines Feldes;
- grok_parser — Parsen von Feldwerten im Grok-Format;
- json_parser — Parsen von Feldwerten im JSON-Format;
- lua — Umwandlung von Ereignissen mit Lua-Skripten;
- regex_parser — Umwandlung von Feldwerten mit regulären Ausdrücken;
- remove_fields — Entfernen von Feldern aus Ereignissen;
- tokenizer — Zerlegen von Feldwerten in Tokens.
Ziele
- aws_cloudwatch_logs — Senden von Protokollen an AWS CloudWatch;
- aws_kinesis_streams — Senden von Ereignissen an AWS Kinesis;
- aws_s3 — Batchweise Senden von Ereignissen an AWS S3;
- blackhole — Vernichtung von Ereignissen, gedacht für Tests;
- console — Senden von Ereignissen an den Standardausgabestrom oder den Standardfehlerstrom;
- elasticsearch — Senden von Ereignissen an ElasticSearch;
- http — Senden von Ereignissen an eine beliebige HTTP-URL;
- kafka — Senden von Ereignissen an Kafka;
- splunk_hec — Senden von Ereignissen an den Splunk HTTP Collector;
- tcp — Senden von Ereignissen an einen TCP-Socket;
- vector — Senden von Ereignissen an eine andere Vector-Instanz.
In der Version 0.3.0 wurde Unterstützung für Lua, Grok, reguläre Ausdrücke und Tokenizer hinzugefügt.
Quelle: linux.org.ru
