可观测性已成为理解系统性能、识别问题和确保无缝用户体验的关键方面。Highlight.io 是一个开源的可观测性平台,它使用 ClickHouse 进行数据存储和检索。Highlight.io最初专注于会话回放和前端Web开发功能,现在已扩展到全栈可观测性领域。这使开发人员能够跟踪Web应用程序中的用户体验、识别后端错误并分析其基础设施中的相关日志,最终帮助工程师诊断问题的根本原因。
只需几行代码,开发人员就可以将 Highlight.io 集成到他们的前端和后端系统,从而获取从用户在前端的按钮点击到其基础设施和服务的下游影响等见解。所有这些信息都可以在一个单一窗格视图中获得,从而简化了故障排除过程。
使用后端日志监控增强 Highlight.io
随着 Highlight.io 继续发展并扩展其产品以提供更全面的可观测性解决方案,该平台已最近在其技术栈中添加了日志记录功能,该功能由ClickHouse提供支持。此添加旨在通过捕获和分析服务器端日志来使开发人员能够更深入地了解其应用程序。Highlight.io 计划在不久的将来进一步探索跟踪,正在朝着为开发人员提供更强大、更全面的解决方案以监控和优化其应用程序的方向发展。
Highlight.io 的首席技术官 Vadim Korolik 解释了该公司转向后端监控的原因:“现在我们致力于这种转变,我们有兴趣从服务器端信息中记录跟踪、日志甚至更多上下文。作为第一步,我们探索了构建我们的新日志产品。现在,我们的客户可以在不到一秒的时间内搜索数月的浏览器和服务器端日志数据,这得益于 ClickHouse 背后的技术。”
Highlight.io 最初使用 ClickHouse 来开发日志可视化产品,这是因为 OLAP 数据库非常适合处理时间序列数据。现在,他们正在考虑将其用于其查询引擎的其他部分,包括前端用户会话、应用程序错误和指标,因为他们在性能和数据存储成本方面看到了明显的优势。
ClickHouse 高数据摄取率
Highlight.io 与 ClickHouse 的集成使该平台能够处理高数据摄取率,确保开发人员能够实时访问最新信息。该平台的架构包括使用 React 和 TypeScript 构建的前端以及使用 Go 构建的后端,它利用 ClickHouse 存储日志数据并将其与来自其他数据存储的信息相结合。这种集成使开发人员能够快速访问和分析用户会话、日志和错误信息,帮助他们以连贯的方式更有效地识别和解决问题。
要安装 Highlight.io,客户只需通过安装其相应的 Highlight.io SDK 添加几行代码。在幕后,Highlight.io 使用一个云托管的 OpenTelemetry 代理,该代理公开提供给客户的 SDK 连接,为了简单起见,它包装了 OpenTelemetry SDK 以保持安装的简单性。在摄取后,数据存储在一个单一表中,项目 ID 作为主键的一部分,用于处理多租户和扩展。这允许通过利用 ClickHouse 的功能(如条件 TTL 和映射索引)来实现可管理但性能良好的数据模式,以便对结构化和非结构化数据进行有效的搜索。
ClickHouse 提供了 SQL 的扩展版本,其中包含用于编写最佳分析查询的功能。这不仅性能出色,而且对工程师来说也很熟悉,这意味着时间花在构建他们的产品上,而不是学习新工具。
迈向后端监控
Highlight.io 选择 ClickHouse 而不是其他替代方案(包括 Elasticsearch),这得益于其卓越的性能、实时分析功能和多功能的部署选项。通过使用开源 ClickHouse 进行自管理实现以及高度可扩展的 ClickHouse Cloud 来提供其生产云产品,他们找到了完美的解决方案。在他们的云产品中,Highlight 利用 ClickHouse Cloud 无缝地通过 AWS PrivateLink 连接。
Highlight.io 致力于开源开发,他们不断探索方法来增强其产品功能并改进与 ClickHouse 的集成。事实上,Highlight.io 的团队正在努力改进其查询语法,使开发人员能够更轻松地根据特定条件搜索和过滤日志。
随着开发人员越来越多地要求更有效的方法来监控其应用程序,Highlight.io 等平台正在努力提供必要的见解,以确保最佳性能。通过利用 ClickHouse 的高性能功能,Highlight.io 提供了强大的可扩展可观测性解决方案,可以帮助开发人员确保其应用程序平稳、高效地运行。随着其日志记录产品的发布,Highlight.io 和 ClickHouse 将为开发人员提供一个连贯的解决方案,用于诊断和发现其应用程序中的问题。
访问:highlight.io 并阅读其关于 OpenTelemetry 的最新博客。