Questa settimana è stata rilasciata la versione 0.3.0 dell'utility open source Vector, progettata per raccogliere, trasformare e salvare dati di log, metriche ed eventi.
Scritta in Rust, è caratterizzata da alte prestazioni e da un basso consumo di memoria rispetto ai concorrenti. Inoltre, grande attenzione è dedicata alle funzionalità legate alla correttezza, in particolare alla possibilità di salvare eventi non inviati in un buffer su disco e alla rotazione dei file.
Architettonicamente, Vector è un router di eventi che riceve messaggi da uno o più fonti, applicando facoltativamente delle trasformazioni, e li invia a uno o più sink.
Sono implementati i seguenti
Fonti
- file — lettura continua degli eventi da uno o più file locali;
- statsd — ricezione continua degli eventi tramite il protocollo StatsD tramite UDP;
- stdin — lettura continua degli eventi dallo standard input;
- syslog — ricezione continua degli eventi tramite il protocollo Syslog 5424;
- tcp — lettura continua degli eventi da un socket TCP;
- vector — ricezione degli eventi da un altro istanza di Vector.
Trasformazioni
- add_fields — aggiunta di campi aggiuntivi agli eventi;
- field_filter — filtraggio degli eventi in base al valore di un campo;
- grok_parser — analisi dei valori dei campi nel formato Grok;
- json_parser — analisi dei valori dei campi nel formato JSON;
- lua — trasformazione degli eventi utilizzando script Lua;
- regex_parser — trasformazione dei valori dei campi utilizzando espressioni regolari;
- remove_fields — rimozione di campi dagli eventi;
- tokenizer — suddivisione dei valori dei campi in token.
Sink
- aws_cloudwatch_logs — invio di log a AWS CloudWatch;
- aws_kinesis_streams — invio di eventi a AWS Kinesis;
- aws_s3 — invio di eventi in batch a AWS S3;
- blackhole — distruzione degli eventi, destinato a scopi di test;
- console — invio di eventi allo standard output o allo standard error;
- elasticsearch — invio di eventi a ElasticSearch;
- http — invio di eventi a un URL HTTP arbitrario;
- kafka — invio di eventi a Kafka;
- splunk_hec — invio di eventi al Splunk HTTP Collector;
- tcp — invio di eventi a un socket TCP;
- vector — invio di eventi a un'altra istanza di Vector.
Nella versione 0.3.0 è stata aggiunta la supporto a Lua, Grok, espressioni regolari e tokenizzatore.
Fonte: linux.org.ru
