Grafana 新出的一个开源项目就霸榜了
大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!
不知道大家是否知晓 Grafana,如果不知晓,请自行查阅。今天推荐的这个开源项目是 Grafana Lab 出品的另一个开源项目,发布没几天就进入了 GitHub Trending 总榜单,排行第 3。
这两年,基于微服务的分布式系统很流行,但这也无形中让系统更加复杂,排查问题更加不方便。于是出现了各种分布式追踪协议、系统,比较知名的有:Jaeger,Zipkin,OpenCensus 和 OpenTelemetry 等。那 Grafana Tempo 是干什么的呢?
Grafana Tempo 简介
Grafana Tempo 是一个开放源代码,易于使用的大规模分布式跟踪后端。Tempo 成本效益高,仅需要对象存储即可运行,并且与 Grafana,Prometheus 和 Loki 深度集成。Tempo 可以与任何开源跟踪协议一起使用,包括 Jaeger,Zipkin 和 OpenTelemetry。它仅支持键/值查找,并且旨在与用于发现的日志和度量标准(示例性)协同工作。
Tempo 与 Jaeger,Zipkin,OpenCensus 和 OpenTelemetry 兼容。它以任何上述格式提取批处理,对其进行缓冲,然后将其写入 GCS,S3 或本地磁盘。因此,它坚固,便宜且易于操作!
简单说,Tempo 是一个分布式追踪系统,你可以使用 Jaeger,Zipkin,OpenCensus 和 OpenTelemetry 中的任何一个追踪协议。
关于为什么开发 Tempo 这个系统,官方给了如下说明:
在 Grafana Labs,我们希望我们的跟踪系统总是能够回答这样的问题: “为什么这个客户的查询速度很慢? ”“一个间歇性的错误又出现了。我能看到确切的痕迹吗? ”我们发现我们自己想要 100% 的抽样,但不想管理 Elasticsearch 或 Cassandra 集群来完成它。
此外,他们发现跟踪后端不需要索引跟踪。可以通过日志和样本发现痕迹。为什么要花钱索引你的痕迹、你的日志和你的指标?我们所需要的只是一台精简的、简单的、按 id 进行追踪的存储机器。所以他们创造了 Tempo。
Tempo 的架构如下:
查询界面:
Tempo 项目地址:https://github.com/grafana/tempo,文档地址:https://grafana.com/docs/tempo/latest/
对了,这个项目是用 Go 语言实现的。
文末「阅读原文」可直达项目首页。
今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!
推荐阅读
转角遇到GitHub - 送给爱开源的你
Git · GitHub · GitLab · Gitee