Esta semana se lanzó la versión 0.3.0 de la utilidad gratuita Vector, diseñada para recopilar, transformar y almacenar datos de registros, métricas y eventos.
Escrita en Rust, se distingue por su alto rendimiento y bajo consumo de memoria en comparación con sus similares. Además, se presta especial atención a las funcionalidades relacionadas con la corrección, en particular, las capacidades de almacenar eventos no enviados en el búfer del disco y la rotación de archivos.
Arquitectónicamente, Vector es un enrutador de eventos, que recibe mensajes de uno o más fuentes, aplicando opcionalmente transformaciones sobre esos mensajes transformaciones, y enviándolos a uno o más destinos.
Se implementaron las siguientes
Fuentes
- file — lectura continua de eventos desde uno o varios archivos locales;
- statsd — recepción continua de eventos a través del protocolo StatsD mediante UDP;
- stdin — lectura continua de eventos desde el flujo estándar de entrada;
- syslog — recepción continua de eventos a través del protocolo Syslog 5424;
- tcp — lectura continua de eventos desde un socket TCP;
- vector — recepción de eventos desde otra instancia de Vector.
Transformaciones
- add_fields — adición de campos adicionales a los eventos;
- field_filter — filtrado de eventos según el valor de un campo;
- grok_parser — análisis de valores de campos en formato Grok;
- json_parser — análisis de valores de campos en formato JSON;
- lua — transformación de eventos mediante scripts en Lua;
- regex_parser — transformación de valores de campos utilizando expresiones regulares;
- remove_fields — eliminación de campos de eventos;
- tokenizer — división de valores de campos en tokens.
Destinos
- aws_cloudwatch_logs — envío de registros a AWS CloudWatch;
- aws_kinesis_streams — envío de eventos a AWS Kinesis;
- aws_s3 — envío de eventos en lotes a AWS S3;
- blackhole — destrucción de eventos, destinado para pruebas;
- console — envío de eventos al flujo estándar de salida o al flujo estándar de errores;
- elasticsearch — envío de eventos a ElasticSearch;
- http — envío de eventos a una URL HTTP arbitraria;
- kafka — envío de eventos a Kafka;
- splunk_hec — envío de eventos al Collector HTTP de Splunk;
- tcp — envío de eventos a un socket TCP;
- vector — envío de eventos a otra instancia de Vector.
En la versión 0.3.0, se agregó soporte para Lua, Grok, expresiones regulares y el tokenizador.
Fuente: linux.org.ru
