Questa settimana è stata rilasciata la versione 0.3.0 dell'utilità open source Vector, progettata per raccogliere, trasformare e salvare dati da log, metriche ed eventi.
Scritta in Rust, offre elevate prestazioni e un basso consumo di memoria rispetto ai concorrenti. Inoltre, è prestata particolare attenzione alle funzionalità relative all'accuratezza, in particolare alla possibilità di memorizzare eventi non inviati in un buffer su disco e alla rotazione dei file.
Architettonicamente, Vector è un router di eventi che accetta messaggi da una o più sorgenti, applicando facoltativamente su questi messaggi trasformazioni, e inviandoli a uno o più sink.
Sono state implementate le seguenti funzionalità:
Fonti
- file — lettura continua di eventi da uno o più file locali;
- statsd — ricezione continua di eventi tramite il protocollo StatsD su UDP;
- stdin — lettura continua di eventi dallo standard input;
- syslog — ricezione continua di eventi tramite il protocollo Syslog 5424;
- tcp — lettura continua di eventi da un socket TCP;
- vector — ricezione di eventi da un'altra istanza di Vector.
Trasformazioni
- add_fields — aggiunta di campi aggiuntivi agli eventi;
- field_filter — filtraggio dell'evento in base al valore del 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 tramite espressioni regolari;
- remove_fields — rimozione di campi dagli eventi;
- tokenizer — suddivisione dei valori dei campi in token.
Flussi
- aws_cloudwatch_logs — invio di log ad AWS CloudWatch;
- aws_kinesis_streams — invio di eventi a AWS Kinesis;
- aws_s3 — invio di eventi in batch a AWS S3;
- blackhole — distruzione di eventi, destinata ai test;
- console — invio di eventi al flusso standard di output o al flusso standard di errori;
- 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 a 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 è stato aggiunto il supporto per Lua, Grok, espressioni regolari e tokenizer.
Fonte: linux.org.ru
