嘿大家!

我们刚刚发布了 Quickwit 0.3,我们很高兴与 Hashnode 社区分享它。

在 Quickwit,我们的目标是为开发人员提供具有成本效益的日志管理软件。即使涉及 PB 级的日志。 Quickwit 通过解耦的计算和存储来实现这一点,其中日志存储在对象存储而不是本地硬件上。我们在 2 年内添加了更多功能,因此请随时查看它们,看看 Quickwit 是否适合您的用户案例。

但现在,我们将深入了解 Quickwit 0.3。

自我们上次发布以来已经过去了五个月,我们的团队一直在努力交付下一个版本的 Quickwit。这个新的功能丰富的版本引入了:

  • 嵌入式用户界面

  • 无模式索引

  • 聚合(与 Elasticsearch 兼容的 API)

  • 摄取 API(与 Elasticsearch 兼容)

  • 对 Amazon Kinesis 的支持

对于赶时间的读者,我们建议您阅读我们修订的快速入门指南立即试用 0.3!

如果您还在阅读,让我们更详细地了解 Quickwit 0.3 带来的新功能。

嵌入式用户界面

Quickwit 0.3 嵌入式 UI

对于高级仪表板和数据探索,我们的长期计划是为Grafana提供数据源插件。但是,我们还希望为我们的用户提供一个开箱即用的解决方案,以搜索和可视化他们的日志,而无需安装和配置其他第三方软件。

我们使用 Typescript 和 React 开发了这个前端应用程序,界面由两个部分组成:DiscoverAdmin

发现

发现部分专门用于搜索和探索索引。此页面由左侧的索引选择面板、顶部的搜索框和日期范围选择器以及中心的数据表组成,用于检查匹配的文档。我们不是想在这里重新发明轮子,这种布局应该感觉很熟悉:选择一个索引,输入您的查询,点击运行按钮(或使用快捷方式cmd/ctrl + enter),匹配的命中会在几毫秒后神奇地出现。

行政

管理部分专用于管理任务。索引页面列出并显示由 Quickwit 管理的索引的属性(文档映射、来源、拆分)。集群页面列出并显示了组成集群的每个节点的属性。我们将通过附加信息丰富本节,并增加可用于即将发布的版本的功能数量(更新或删除索引、停止节点)。

无模式索引

在野外,许多事件无法映射到严格的模式。例如,在结构化日志中,每一行描述应用程序中的一个事件,并且所有日志行中都存在一些 JSON 字段(例如servertimestampevent_type)。但是,某些 JSON 字段是特定于事件类型的,并且经常会发生变化。

Quickwit 0.3 可以为前者定义严格的模式,并以无模式的方式处理后者。

您可以在我们的无模式指南中阅读有关其工作原理的更多信息。

用聚合查询让你的数据讲故事

聚合将您的数据汇总为指标或统计数据,并帮助回答以下问题:

  • 最近一小时发生了多少错误?

  • 前 15 分钟内每个服务的平均响应延迟是多少?

随着聚合的添加,Quickwit 不再专门用于搜索;它现在是一个强大的分析引擎,可让您解锁业务数据的隐藏价值。

聚合 API 与 Elasticsearch-search 兼容,并在此处记录。

使用 Quickwit 摄取数据的两种新方法

Quickwit 0.3 提供了两种将数据加载到索引中的新方法:

  • 摄取 API

  • 亚马逊 Kinesis

摄取 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:

  • 摄取API

  • 亚马逊 Kinesis

  • 阿帕奇卡夫卡

  • 文件

引擎盖下更好

除了打包许多面向用户的功能外,Quickwit 在后台也变得越来越好。此版本具有性能改进,特别是在 doc mapper(负责将原始 JSON 对象解析为 Tantivy 文档的类)中。此外,我们将集群成员算法从 SWIM 切换到 Scuttlebutt,我们在这篇博客文章中对此进行了广泛描述。

接下来是什么?

在您享受 Quickwit 0.3 带来的价值的同时,我们已经专注于下一个版本。您可以期待的主要功能是:

  • 对 Kubernetes 的原生支持

  • 日期时间字段

  • IP地址字段

  • 范围查询

  • 排序

  • 保留政策

我们计划在 8 月发布下一个版本。我们的路线图是公开的,您可以在这个 GitHub项目中关注我们的进展。

同时,我们邀请您查看此快速入门指南以使用 Quickwit 摄取您的第一个数据集。

最后,如果您对 Quickwit 有任何疑问或遇到任何问题,请随时发起讨论或在[GitHub 上打开问题](https://github.com/quickwit-oss/quickwit)或直接在 z00710010 zwz10 z0071010 zwz10 上联系我们。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐