На этой неделе вышла версия 0.3.0 свободной утилиты Vector, предназначенной для сбора, преобразования и сохранения данных логов, метрик и событий.
Будучи написанной на языке Rust, она отличается высокой производительностью и низким потреблением оперативной памяти по сравнению с аналогами. Кроме того, большое внимание уделено функциям, связанным с корректностью, в частности, возможностям сохранения неотправленных событий в буфер на диске и ротации файлов.
Архитектурно Vector является роутером событий, принимающим сообщения из одного или нескольких источников, опционально применяющим над этими сообщениями преобразования, и отправляющим их в один или несколько стоков.
Реализованы следующие
Источники
- file — непрерывное чтение событий из одного или нескольких локальных файлов;
- statsd — непрерывное получение событий по протоколу StatsD через UDP;
- stdin — непрерывное чтение событий из стандартного потока ввода;
- syslog — непрерывное получение событий по протоколу Syslog 5424;
- tcp — непрерывное чтение событий из TCP-сокета;
- vector — получение событий из другого экземпляра Vector.
Преобразования
- add_fields — добавление дополнительных полей в события;
- field_filter — фильтрация события по значению поля;
- grok_parser — разбор значений полей в формате Grok;
- json_parser — разбор значений полей в формате JSON;
- lua — преобразование событий с помощью скриптов на Lua;
- regex_parser — преобразование значений полей с помощью регулярных выражений;
- remove_fields — удаление полей из событий;
- tokenizer — разбиение значений полей на токены.
Стоки
- aws_cloudwatch_logs — отправка логов в AWS CloudWatch;
- aws_kinesis_streams — отправка событий в AWS Kinesis;
- aws_s3 — отправка событий пачками в AWS S3;
- blackhole — уничтожение событий, предназначено для тестирования;
- console — отправка событий в стандартный поток вывода или в стандартный поток ошибок;
- elasticsearch — отправка событий в ElasticSearch;
- http — отправка событий на произвольный HTTP URL;
- kafka — отправка событий в Kafka;
- splunk_hec — отправка событий в Splunk HTTP Collector;
- tcp — отправка событий в TCP-сокет;
- vector — отправка событий в другой экземпляр Vector.
В версии 0.3.0 была добавлена поддержка Lua, Grok, регулярных выражений и токенизатора.
>>> Подробности