Quickwit 0.3 выпущен! Альтернатива Elasticsearch для управления журналами с открытым исходным кодом

Привет всем!

Мы только что выпустили Quickwit 0.3 и рады поделиться им с сообществом Dev.to.

В Quickwit мы стремимся предоставить разработчикам экономически эффективное программное обеспечение для управления журналами. Даже когда речь идет о петабайтах журналов. Quickwit достигает этого за счет разделения вычислений и хранения, где журналы хранятся в объектном хранилище вместо локального оборудования. За два года мы добавили еще много функций, поэтому не стесняйтесь проверить их, чтобы понять, подходит ли Quickwit для вашего случая.

Но сейчас мы более подробно рассмотрим Quickwit 0.3.

С момента выхода последнего релиза прошло пять месяцев, и наша команда упорно трудилась над созданием следующей версии Quickwit. В этой новой многофункциональной версии представлены:

  • Встроенный пользовательский интерфейс
  • Бессхемное индексирование
  • Агрегации (API, совместимый с Elasticsearch)
  • API Ingest (совместимый с Elasticsearch)
  • Поддержка Amazon Kinesis

Для читателей, которые торопятся, мы предлагаем вам ознакомиться с нашим обновленным руководством по быстрому запуску, чтобы попробовать 0.3 уже сейчас!

Если вы все еще читаете, давайте более подробно рассмотрим новые функциональные возможности Quickwit 0.3.

Встроенный пользовательский интерфейс

В долгосрочной перспективе мы планируем предложить плагин источника данных для Grafana для продвинутого создания приборных панелей и исследования данных. Однако мы также хотели предоставить нашим пользователям готовое решение для поиска и визуализации журналов без установки и настройки стороннего программного обеспечения.

Мы разработали это внешнее приложение, используя Typescript и React, а интерфейс состоит из двух разделов: Discover и Admin.

Discover

Раздел Discover посвящен поиску и изучению индексов. Эта страница состоит из панели выбора индекса слева, окна поиска и выбора диапазона дат вверху, а также таблицы данных в центре для просмотра совпадающих документов. Мы не пытаемся изобретать велосипед, и эта схема должна казаться очень знакомой: выберите индекс, введите свой запрос, нажмите кнопку «Выполнить» (или используйте сочетание клавиш cmd/ctrl + enter), и совпадения появятся как по волшебству через несколько миллисекунд.

Администратор

Раздел администратора посвящен задачам администрирования. На странице индексов перечислены и отображены свойства (отображение документов, источники, сплиты) индексов, управляемых Quickwit. На странице кластера перечислены и показаны свойства каждого узла, входящего в кластер. Мы обогатим этот раздел дополнительной информацией и увеличим количество функциональных возможностей (обновление или удаление индекса, остановка узла), доступных для использования в ближайших релизах.

Бессхемное индексирование

В природе многие события не могут быть сопоставлены со строгой схемой. Например, в структурированном протоколировании каждая строка описывает событие в приложении, и некоторые поля JSON присутствуют во всех строках журнала (например, server, timestamp, event_type). Однако некоторые из полей JSON специфичны для типа события и часто подвержены изменениям.

Quickwit 0.3 позволяет определить строгую схему для первых и работать со вторыми без схемы.

Подробнее о том, как это работает, вы можете прочитать в нашем руководстве по работе без схемы.

Пусть ваши данные расскажут историю с помощью агрегированных запросов

Агрегации суммируют ваши данные в виде метрик или статистики и помогают ответить на такие вопросы, как:

  • Сколько ошибок произошло за последний час?
  • Какова была средняя задержка ответа для каждой службы за предыдущие 15 минут?

С добавлением агрегаций Quickwit больше не предназначен исключительно для поиска; теперь это мощный аналитический механизм, позволяющий раскрыть скрытую ценность ваших бизнес-данных.

API агрегаций совместим с Elasticsearch-поиском и документирован здесь.

Два новых способа ввода данных с помощью Quickwit

Quickwit 0.3 предоставляет два новых способа загрузки данных в индексы:

  • API Ingest
  • Amazon Kinesis

Ingest API

Quickwit 0.3 поставляется с новой конечной точкой HTTP для пакетной загрузки документов JSON с разделителями новой строки:

POST api/v1/<index ID>/ingest
{"timestamp": 1653068019, "message": "Hello, World!"}
{"timestamp": 1653068020, "message": "Bonjour, monde!"}
Вход в полноэкранный режим Выход из полноэкранного режима

Мы серьезно относимся к долговечности данных, и записи сохраняются в журнале с опережением записи (WAL) перед подтверждением любого запроса на запись.

Совместимая с Elasticsearch конечная точка массовых операций

Кроме того, мы добавили совместимую с Elasticsearch конечную точку массового обмена, что позволяет таким отправителям журналов, как FluentD, Logstash или Vector, поддерживать Quickwit нативно. В результате, вы можете начать отправлять журналы в Quickwit уже сегодня, просто обновив одну строку в текущей конфигурации сборщика журналов!

В этом руководстве приведен пример использования Vector для отправки журналов в Quickwit.

Поддержка Amazon Kinesis

После Apache Kafka, Quickwit 0.3 поддерживает вторую распределенную очередь сообщений: Amazon Kinesis. Amazon Kinesis — это полностью управляемый сервис, который предлагает альтернативу компаниям, не имеющим собственных знаний или ресурсов для управления и эксплуатации кластера Kafka.

В этом руководстве вы узнаете, как получать данные из Amazon Kinesis.

В новом выпуске теперь есть четыре способа загрузки данных в Quickwit:

  • Ingest API
  • Amazon Kinesis
  • Apache Kafka
  • Файлы

Лучше под капотом

В дополнение к множеству пользовательских функций, Quickwit также становится лучше под капотом. В этом выпуске улучшена производительность, особенно в doc mapper (класс, отвечающий за разбор необработанных JSON-объектов в документы Tantivy). Кроме того, мы перешли от SWIM к Scuttlebutt, что подробно описано в этой статье.

Что дальше?

Пока вы наслаждаетесь преимуществами Quickwit 0.3, мы уже сосредоточились на следующем релизе. Ключевыми особенностями, которые вы можете ожидать, являются:

  • Встроенная поддержка Kubernetes
  • Поле времени даты
  • Поле IP-адреса
  • Запросы диапазона
  • Сортировка
  • Политики сохранения

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

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

Наконец, если у вас есть вопросы по Quickwit или возникли проблемы, не стесняйтесь начать обсуждение или открыть проблему на GitHub или связаться с нами напрямую в Discord.

Оцените статью
Procodings.ru
Добавить комментарий