grafana/tempo

GitHub: grafana/tempo

Grafana Tempo 是一个高吞吐、低依赖的分布式链路追踪后端,仅需对象存储即可运行,并与 Grafana 可观测性生态深度集成。

Stars: 5379 | Forks: 731

Tempo Logo

Latest Release License Docker Pulls Slack Community Forum Go Report Card

Grafana Tempo 是一个开源、易用且支持大规模的分布式链路追踪后端。Tempo 具有很高的成本效益,仅需对象存储即可运行,并且与 Grafana、Prometheus 和 Loki 深度集成。 ## 分布式链路追踪的业务价值 分布式链路追踪可帮助团队快速定位性能问题,并了解请求在各个服务间的流转情况。Traces Drilldown UI 通过提供友好的用户界面来查看和分析 trace 数据,从而简化了这一过程,让用户无需编写复杂的查询即可轻松发现并解决问题。 请参阅[使用 trace 寻找解决方案](https://grafana.com/docs/tempo/latest/introduction/solutions-with-traces/),以详细了解如何使用分布式链路追踪来调查和解决问题。 ## Traces Drilldown UI:一种从追踪数据中获取价值的更好方式 我们很高兴推出作为 Grafana Explore 套件一部分的 [Traces Drilldown](https://github.com/grafana/traces-drilldown)(前身为 Explore Traces)应用。该应用提供了无需编写查询且直观的 trace 数据分析体验,使团队能够快速发现性能问题、延迟瓶颈和错误,而无需编写复杂的查询或使用 TraceQL。 主要功能: - **直观的 Trace 分析**:通过简单的点击交互,快速发现缓慢或易出错的 trace。 - **RED 指标概览**:使用 Rate(请求速率)、Errors(错误)和 Duration(持续时间)指标来突显性能问题。 - **自动化对比**:通过自动 trace 对比,识别有问题的属性。 - **简化的可视化**:无需构建 TraceQL 查询即可访问丰富的可视化数据。 ![image](https://github.com/user-attachments/assets/991205df-1b27-489f-8ef0-1a05ee158996) 如需了解更多信息,请参阅以下链接: - [Traces Drilldown 代码库](https://github.com/grafana/traces-drilldown) - [Traces Drilldown 文档](https://grafana.com/docs/grafana/latest/explore/simplified-exploration/traces/) - [演示视频](https://www.youtube.com/watch?v=a3uB1C2oHA4) ## TraceQL Tempo 实现了 [TraceQL](https://grafana.com/docs/tempo/latest/traceql/),这是一种受 LogQL 和 PromQL 启发的、以 trace 为优先的查询语言,它支持精准查询或丰富的 UI 驱动分析。 ### TraceQL 指标 [TraceQL 指标](https://grafana.com/docs/tempo/latest/traceql/metrics-queries/)是 Grafana Tempo 中的一项实验性功能,可以从 trace 生成指标。指标查询通过对 trace 查询结果应用函数来扩展 trace 查询。这一强大的功能允许根据 trace 中可用的任何维度对现有的任何 TraceQL 查询进行临时聚合,这与 LogQL 指标查询从日志中生成指标的方式非常相似。 Tempo 兼容 Jaeger、Zipkin、Kafka 和 OpenTelemetry。它能够接收上述任何格式的批次数据,将其缓冲,然后写入 Azure、GCS、S3 或本地磁盘中。因此,它具有健壮、低成本和易于操作的特点。 ## 开始使用 Tempo - [入门文档](https://grafana.com/docs/tempo/latest/getting-started/) - [部署示例](./example) - [Docker Compose](./example/docker-compose) - [Helm](./example/helm) - [Jsonnet](./example/tk) ## 延伸阅读 要了解有关 Tempo 的更多信息,请查阅以下文档和演讲: - [如何与 Joe Elliott 一起开始使用 Tempo(视频)](https://www.youtube.com/watch?v=zDrA7Ly3ovU) - [关于 Tempo 的 Grafana 博客文章](https://grafana.com/tags/tempo/) - [Grafana Tempo 2.0 的新特性:以 Apache Parquet 作为默认存储格式,支持 TraceQL][tempo_20_announce] - [认识 TraceQL:一种强大的新型分布式追踪查询语言][traceql-post] ## 获取帮助 如果您对 Tempo 有任何疑问或反馈: - Grafana Labs 为 Tempo 托管了一个[论坛](https://community.grafana.com/c/grafana-tempo/40)。这里是发布问题和寻找答案的好地方。 - 在 [Tempo Slack 频道](https://grafana.slack.com/archives/C01D981PEE5)提问。 - 针对错误、问题和功能建议[提交 issue](https://github.com/grafana/tempo/issues/new/choose)。 - UI 问题应向 [Grafana](https://github.com/grafana/grafana/issues/new/choose) 提交。 ## OpenTelemetry Tempo 的接收层、传输格式和存储格式均直接基于 [OpenTelemetry](https://opentelemetry.io/) 建立的[标准](https://github.com/open-telemetry/opentelemetry-proto)和[代码](https://github.com/open-telemetry/opentelemetry-collector)。我们在 Grafana 支持开放标准! 查看[集成指南](https://grafana.com/docs/tempo/latest/guides/instrumentation/),了解 OpenTelemetry 与 Tempo 进行插桩的示例。 ## 其他组件 ### tempo-vulture [tempo-vulture](https://github.com/grafana/tempo/tree/main/cmd/tempo-vulture) 是 Tempo 的以鸟类为主题的一致性检查工具。它会将 trace 写入 Tempo,然后通过各种方式进行查询验证。 ### tempo-cli [tempo-cli](https://github.com/grafana/tempo/tree/main/cmd/tempo-cli) 用于存放与 Tempo 相关的任何实用工具功能。有关更多信息,请参阅[文档](https://grafana.com/docs/tempo/latest/operations/tempo_cli/)。 ## 许可证 Grafana Tempo 基于 [AGPL-3.0-only](LICENSE) 许可证发布。有关 Apache-2.0 例外情况,请参阅 [LICENSING.md](LICENSING.md)。
标签:API集成, EVTX分析, Go, Grafana, Ruby工具, 分布式追踪, 可观测性, 后端服务, 日志审计, 漏洞探索, 用户代理, 脚本检测, 请求拦截