✨ 让你的生活更美好的十大工具🚀
1. Quickwit(日志和追踪)👑
2. Grafana(日志和跟踪)
3.奥迪戈(追踪)
5. Jaeger(追踪)
6. SigNoz(日志和跟踪)
7.保留(提醒)
8. Uptrace(日志和跟踪)
9. HyperDX(日志和跟踪)
10. Prometheus(指标)
假设你有一个或多个应用程序——它们都会发送日志——你如何才能知道它们内部发生了什么?
通常有两种方法:
- 日志记录:保存来自多个应用程序的日志,并提供分析和搜索功能。这是传统方法,但始终很有用。
- 跟踪:专注于提供有关应用程序性能的见解;您可以根据这些指标构建准确的监控和警报。
有些工具用于日志记录,有些用于追踪,还有一些工具两者兼备!
以下是一些你必须了解的用于日志记录和追踪的开源工具:
1. Quickwit(日志和追踪)👑
Quickwit 是一个开源的分布式搜索引擎,专为大规模日志管理和分析而设计。
Quickwit 是 Elasticsearch 的直接替代方案,具有更高的性能,尤其是在云原生和大规模分布式环境中,并且专注于优化存储和搜索效率。
通常情况下,你会使用 OpenTelemetry、Fluentbit、Odigos(自动插桩跟踪工具)等工具来收集日志和跟踪信息,将它们发送到 Quickwit,然后使用 Jaeger(跟踪)或 Grafana(日志和跟踪)进行可视化。
有趣的是: Elasticsearch 和 Kibana 都放弃了社区许可证,转而采用限制性更强的许可证(从 Apache 2 许可证改为 Elastic 许可证),结果遭到了社区的强烈反对。
Quickwit采用AGPL 3许可协议,对自由开源软件社区(FOSS)来说更加开放。
2. Grafana(日志和跟踪)
Grafana 是 ELK 技术栈的开源替代方案。对于日志和跟踪数据,您需要设置两个查询引擎:Loki 和 Tempo,它们都由 Grafana 维护。
在 Loki 和 Tempo 中索引所有日志或跟踪数据后,您需要一个可视化工具来搜索数据:Grafana 正是为此而生!
无论指标存储在何处,Grafana 都能让您查询、可视化、发出警报并深入了解它们。您可以创建、探索仪表板并与团队共享,从而培养数据驱动型文化。
3.奥迪戈(追踪)
Odigos 是一项独特的技术,无需更改代码即可为 k8s 中的任何应用程序生成跟踪信息:然后,所有跟踪信息都可以转发到 Quickwit 或 Elasticsearch 等数据库(它们还有更多集成)。
如果您还不了解,OpenTelemetry 是一种用于接收日志和跟踪数据的协议。Odigos 使用的是该标准,因此您可以将跟踪数据发送到任何支持 OpenTelemetry 的数据库!
5. Jaeger(追踪)
与 Prometheus 不同,Jaeger 专注于追踪。Jaeger
支持在分布式系统中传播上下文信息,确保追踪数据在服务网络中正确关联。
它并非设计用于处理海量数据,因此必须配合 Quickwit 或 Elasticsearch 等功能强大的存储引擎使用。在这种配置下,Jaeger 可以根据服务规模进行扩展,使其既适用于小型系统也适用于大型系统。
6. SigNoz(日志和跟踪)
Signoz 提供日志和跟踪管理功能。
您可以在同一界面中查看跟踪和日志。
您可以通过查看导致问题的确切跟踪记录,并查看单个请求跟踪的详细火焰图,找到问题的根本原因。
7.保留(提醒)
Keep 可以连接到您现有的所有可观测性工具、数据库和通信渠道,并将所有内容聚合到一个平台上,在出现问题时提供最高级别的警报😈
8. Uptrace(日志和跟踪)
Uptrace 是一个基于 OpenTelemetry 的可观测性平台,用于采集日志和追踪数据。您可以监控应用程序并搜索日志。
由于它支持 OpenTelemetry 并拥有众多集成,因此使用起来非常方便,可以轻松收集和发送数据😈。请注意,您需要设置 Postgresql 和 Clickhouse 数据库。
9. HyperDX(日志和跟踪)
HyperDX 是一个开源可观测性平台,可用于搜索日志和分析跟踪数据。您可以在一个平台上调试复杂的错误和用户问题,无需在多个工具之间切换。
10. Prometheus(指标)
有趣的是,这座图书馆的名字来源于电影《普罗米修斯》(当然,我是在开玩笑),但那是我最初的猜测(无论如何,这是一部好电影)。
虽然 Prometheus 和 Elasticsearch 看起来很相似,但实际上它们非常不同。
Prometheus 只关注基础设施的指标(例如 CPU、内存使用率、磁盘使用率等),但不太适合处理高基数指标。Quickwit 更侧重于日志和追踪;而 Elasticsearch 可以同时处理日志、追踪和指标!
它们往往密切合作。
Prometheus 提供了一个原始的用户界面,这固然不错,但它与 Grafana 仪表板搭配使用效果最佳。
有趣的是,Prometheus 提供了一种名为 PromQL(Prometheus 查询语言)的查询语言。
咱们在X上联系吧?:)
我在这里
你们是否使用其他优秀的日志记录和追踪工具?
请在评论区告诉我你的想法 :)
文章来源:https://dev.to/nevodavid/top-10-tools-to-learn-whats-going-on-in-your-app-20em










