LINUX.ORG.RU

Vector 0.3.0

 ,


1

7

На этой неделе вышла версия 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, регулярных выражений и токенизатора.

>>> Подробности

0.3.0

Я не совсем понимаю современные тренды версионирования, почему что-то (вроде) юзабельное нумеруют 0.3? Как по мне если это не 1.0 то и использовать еще рано и новости на таком широкопрофильном портале как лор рано пилить.

Выглядит больше как пиар языка если честно.

loz ★★★★★ ()
Последнее исправление: loz (всего исправлений: 1)
Ответ на: комментарий от loz

Согласно Rust API guidelines нельзя присвоить программе версию 1.0 и выше если хотя бы одна из зависимостей имеет версию < 1.0. Не уверен, что в данном конкретном случае это сыграло какую-то роль. Может просто ребята скромные, это неплохо.

provaton ★★★★★ ()

Если честно, мне Грок кажется сомнительным. Особенно его наборы регулярных выражений. Там, где можно просто разбить строку по пробелу, используется какие-то регулярные выражения полностью описывающие строку. Это замедление и усложнение ради ничего.

kostyarin_ ()

Ненужная телеметрия на ненужном языке. Закапывайте, у нас и без этого полно телеметрий, их выпилить труднее, чем запилить

anonymous ()

«Будучи написанной на языке Rust, она отличается высокой производительностью и низким потреблением оперативной памяти по сравнению с аналогами.» Под аналогами подразумеваются C#/JAVA/JavaScript или C/C++?

anonymous ()