Săptămâna aceasta a fost lansată versiunea 0.3.0 a utilitarului gratuit Vector, destinat colectării, transformării și salvării datelor de jurnal, metrice și evenimente.
Scris în limbajul Rust, aceasta se remarcă printr-o performanță ridicată și un consum redus de memorie comparativ cu alternativele. În plus, s-a acordat o mare atenție funcțiilor legate de corectitudine, în special capacității de a salva evenimentele netrimise în buffer pe disc și de rotire a fișierelor.
Arhitectural, Vector este un router de evenimente, care primește mesaje din una sau mai multe surse, aplicând opțional transformări, și trimițându-le către una sau mai multe stinguri..
Sunt implementate următoarele
Surse
- file — citire continuă a evenimentelor din unul sau mai multe fișiere locale;
- statsd — primire continuă a evenimentelor prin protocolul StatsD pe UDP;
- stdin — citire continuă a evenimentelor din fluxul standard de intrare;
- syslog — primire continuă a evenimentelor prin protocolul Syslog 5424;
- tcp — citire continuă a evenimentelor dintr-un socket TCP;
- vector — primirea evenimentelor dintr-o altă instanță Vector.
Transformări
- add_fields — adăugarea de câmpuri suplimentare la evenimente;
- field_filter — filtrarea evenimentelor după valoarea câmpului;
- grok_parser — analiza valorilor câmpurilor în format Grok;
- json_parser — analiza valorilor câmpurilor în format JSON;
- lua — transformarea evenimentelor folosind scripturi Lua;
- regex_parser — transformarea valorilor câmpurilor folosind expresii regulate;
- remove_fields — eliminarea câmpurilor din evenimente;
- tokenizer — împărțirea valorilor câmpurilor în token-uri.
Stinguri
- aws_cloudwatch_logs — trimiterea jurnalelor în AWS CloudWatch;
- aws_kinesis_streams — trimiterea evenimentelor în AWS Kinesis;
- aws_s3 — trimiterea evenimentelor în loturi către AWS S3;
- blackhole — distrugerea evenimentelor, destinată testării;
- console — trimiterea evenimentelor în fluxul standard de ieșire sau în fluxul standard de erori;
- elasticsearch — trimiterea evenimentelor în ElasticSearch;
- http — trimiterea evenimentelor către un URL HTTP arbitrar;
- kafka — trimiterea evenimentelor în Kafka;
- splunk_hec — trimiterea evenimentelor în Splunk HTTP Collector;
- tcp — trimiterea evenimentelor către un socket TCP;
- vector — trimiterea evenimentelor către o altă instanță Vector.
În versiunea 0.3.0 a fost adăugată suportul pentru Lua, Grok, expresii regulate și un tokenizer.
Sursa: linux.org.ru
