Esta semana foi lançada a versão 0.3.0 do utilitário gratuito Vector, projetado para coletar, transformar e salvar dados de log, métricas e eventos.
Por ser escrito na linguagem Rust, caracteriza-se por alto desempenho e baixo consumo de RAM em comparação com seus análogos. Além disso, muita atenção é dada às funções relacionadas à correção, em particular, à capacidade de salvar eventos não enviados em um buffer no disco e girar arquivos.
Arquitetonicamente, Vector é um roteador de eventos que recebe mensagens de um ou mais de fontes, opcionalmente aplicando-se a essas mensagens transformaçõese enviá-los para um ou mais drenos.
O seguinte foi implementado
fontes
- arquivo - leitura contínua de eventos de um ou mais arquivos locais;
- statsd - recebimento contínuo de eventos via protocolo StatsD via UDP;
- stdin - leitura contínua de eventos do fluxo de entrada padrão;
- syslog - recebimento contínuo de eventos via protocolo Syslog 5424;
- tcp - leitura contínua de eventos de um soquete TCP;
- vector - recebendo eventos de outra instância do Vector.
Transformações
- add_fields - adicionando campos adicionais aos eventos;
- field_filter — filtragem de eventos por valor de campo;
- grok_parser — analisando valores de campo no formato Grok;
- json_parser - analisando valores de campo no formato JSON;
- lua - convertendo eventos usando scripts Lua;
- regex_parser - convertendo valores de campos usando expressões regulares;
- remove_fields — removendo campos de eventos;
- tokenizer - divisão dos valores dos campos em tokens.
Drenos
- aws_cloudwatch_logs – envia logs para AWS CloudWatch;
- aws_kinesis_streams – envio de eventos para AWS Kinesis;
- aws_s3 – envio de eventos em lotes para AWS S3;
- buraco negro - destruição de eventos destinados a testes;
- console - envia eventos para saída padrão ou erro padrão;
- elasticsearch - envio de eventos para ElasticSearch;
- http — envio de eventos para uma URL HTTP arbitrária;
- kafka - enviando eventos para Kafka;
- splunk_hec - enviando eventos para o coletor HTTP do Splunk;
- tcp — enviando eventos para um soquete TCP;
- vector - envia eventos para outra instância do Vector.
A versão 0.3.0 adicionou suporte para Lua, Grok, expressões regulares e um tokenizer.
Fonte: linux.org.ru