Nesta semana, foi lançado a versão 0.3.0 da ferramenta livre Vector, destinada à coleta, transformação e armazenamento de dados de logs, métricas e eventos.
Escrita na linguagem Rust, é caracterizada por alta performance e baixo consumo de memória em comparação com os similares. Além disso, há grande atenção às funções relacionadas à correção, em particular, a capacidade de armazenar eventos não enviados em buffer no disco e a rotação de arquivos.
Arquitetonicamente, o Vector é um roteador de eventos, recebendo mensagens de uma ou mais fontes, aplicando opcionalmente transformações, e enviando-as para um ou mais destinos.
As seguintes funcionalidades foram implementadas
Fontes
- file — leitura contínua de eventos de um ou vários arquivos locais;
- statsd — recebimento contínuo de eventos pelo protocolo StatsD via UDP;
- stdin — leitura contínua de eventos do fluxo de entrada padrão;
- syslog — recebimento contínuo de eventos pelo protocolo Syslog 5424;
- tcp — leitura contínua de eventos de um socket TCP;
- vector — recebimento de eventos de outra instância do Vector.
Transformações
- add_fields — adição de campos adicionais aos eventos;
- field_filter — filtragem de eventos pelo valor do campo;
- grok_parser — análise de valores de campos no formato Grok;
- json_parser — análise de valores de campos no formato JSON;
- lua — transformação de eventos usando scripts em Lua;
- regex_parser — transformação de valores de campos usando expressões regulares;
- remove_fields — remoção de campos dos eventos;
- tokenizer — divisão de valores de campos em tokens.
Fluxos
- aws_cloudwatch_logs — envio de logs para o AWS CloudWatch;
- aws_kinesis_streams — envio de eventos para o AWS Kinesis;
- aws_s3 — envio de eventos em lotes para o AWS S3;
- blackhole — destruição de eventos, destinado a testes;
- console — envio de eventos para o fluxo de saída padrão ou para o fluxo de erro padrão;
- elasticsearch — envio de eventos para o ElasticSearch;
- http — envio de eventos para uma URL HTTP arbitrária;
- kafka — envio de eventos para o Kafka;
- splunk_hec — envio de eventos para o Splunk HTTP Collector;
- tcp — envio de eventos para um socket TCP;
- vector — envio de eventos para outra instância do Vector.
Na versão 0.3.0, foi adicionada a compatibilidade com Lua, Grok, expressões regulares e um tokenizador.
Fonte: linux.org.ru
