Quickwit 0.3,用于日志管理的 Elasticsearch 和 Loki 的开源替代品
嘿大家!
我们刚刚发布了 Quickwit 0.3,我们很高兴与 Hashnode 社区分享它。
在 Quickwit,我们的目标是为开发人员提供具有成本效益的日志管理软件。即使涉及 PB 级的日志。 Quickwit 通过解耦的计算和存储来实现这一点,其中日志存储在对象存储而不是本地硬件上。我们在 2 年内添加了更多功能,因此请随时查看它们,看看 Quickwit 是否适合您的用户案例。
但现在,我们将深入了解 Quickwit 0.3。
自我们上次发布以来已经过去了五个月,我们的团队一直在努力交付下一个版本的 Quickwit。这个新的功能丰富的版本引入了:
-
嵌入式用户界面
-
无模式索引
-
聚合(与 Elasticsearch 兼容的 API)
-
摄取 API(与 Elasticsearch 兼容)
-
对 Amazon Kinesis 的支持
对于赶时间的读者,我们建议您阅读我们修订的快速入门指南立即试用 0.3!
如果您还在阅读,让我们更详细地了解 Quickwit 0.3 带来的新功能。
嵌入式用户界面

对于高级仪表板和数据探索,我们的长期计划是为Grafana提供数据源插件。但是,我们还希望为我们的用户提供一个开箱即用的解决方案,以搜索和可视化他们的日志,而无需安装和配置其他第三方软件。
我们使用 Typescript 和 React 开发了这个前端应用程序,界面由两个部分组成:Discover 和 Admin。
发现
发现部分专门用于搜索和探索索引。此页面由左侧的索引选择面板、顶部的搜索框和日期范围选择器以及中心的数据表组成,用于检查匹配的文档。我们不是想在这里重新发明轮子,这种布局应该感觉很熟悉:选择一个索引,输入您的查询,点击运行按钮(或使用快捷方式cmd/ctrl + enter),匹配的命中会在几毫秒后神奇地出现。
行政
管理部分专用于管理任务。索引页面列出并显示由 Quickwit 管理的索引的属性(文档映射、来源、拆分)。集群页面列出并显示了组成集群的每个节点的属性。我们将通过附加信息丰富本节,并增加可用于即将发布的版本的功能数量(更新或删除索引、停止节点)。
无模式索引
在野外,许多事件无法映射到严格的模式。例如,在结构化日志中,每一行描述应用程序中的一个事件,并且所有日志行中都存在一些 JSON 字段(例如server、timestamp、event_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 上联系我们。
更多推荐


所有评论(0)