侧边栏壁纸
博主头像
里奥的博客博主等级

行动起来,活在当下

  • 累计撰写 51 篇文章
  • 累计创建 8 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Grafana Tempo 多租户和 Metrics-generator 的设置

里奥
2024-07-20 / 0 评论 / 0 点赞 / 179 阅读 / 4303 字

什么是 Tempo

Grafana Tempo 是一个开源的、易于使用且高扩展性的分布式追踪后端。Tempo 允许你搜索追踪、从 span 生成指标(metrics),并将你的追踪数据与日志和指标关联起来。 Tempo 成本高效,仅需对象存储即可运行。Tempo 与 Grafana、Mimir、Prometheus 和 Loki 深度集成。你可以将 Tempo 与开源的追踪协议一起使用,包括 Jaeger、Zipkin 或 OpenTelemetry。

了解 Grafana Tempo: Quick start for Tempo

Grafana Tempo 多租户的使用

多租户也就是对应着 Grafana 中的 Organization, 比如在实际的应用中,一个项目使用一个 organization, 那么每个项目生成的 span 数据就会存放在不同的文件夹下. 在示例项目 otel-collector-multitenant 中我们, 当我们 使用 docker compose up -d 拉起项目时, 会有如下的容器:

tempo-02.png

我们使用命令 docker exec -it otel-collector-multitenant-tempo-1 sh 进入容器内部后, 可以查看到相应的文件夹被创建了.

01-mbhv.png

关于如何设置, 可以参考官方向导: Enable multi-tenancy

在示例项目 otel-collector-multitenantdocker-compose.yaml 文件中, 是做如下设置的:

tempo-03.png

在 otel-collector 的配置文件 otel-collector.multitenant.yaml 中,相应的设置如下 tempo-04.png

然后在 Grafana 的 Tempo data sources 中配置 HTTP headers , 如下所示. 这样相应的organization 就只能看到自己相关的 Span 数据了. tempo-05.png

启用 Metrics-generator

可以参考 Metrics-generator 的官方文档了解,详细了解其功能.

在示例项目 otel-collector-multitenant 中的配置, 主要是配置 tempo.yaml 中有关 metrics_generatoroverrides 的配置

tempo-06.png

Grafana 查询

如下图所示, 在 TraceQL 中输入 {} 可以查出所有的的 span 数据 tempo-07.png

如下所示是 Service Graph 的视图 tempo-08.png

点击相应的 metrics 就会自动打开右边的与之关联的 metrics 视图

tempo-09-whlx.png

一些错误

  1. No service graph data found

tempo-10.png

原因:

  1. Grafana 没有设置 metricsSummary
  2. tempo 配置文件中 metrics_generatoroverrides 配置错误

在示例项目 otel-collector-multitenant 中的配置为

tempo-11.png

  1. field defaults not found in type overrides.legacyConfig

原因: 当使用 docker-compose 平繁的更改配置文件后, 可能出现这个问题, 一般当使用 Docker 来安装, 并且更改了配置文件时最保险的方式是使用下面的命令来使配置文件生效.

docker compose stop
docker compose rm
docker compose up -d

tempo-12.png

或者对单独的一个 container 进行移除后再创建 (推荐)

比如你只修改了 Tempo 的配置文件, 那么可以使用下面的命令来使这个单独的配置生效

docker container stop otel-collector-multitenant-tempo-1
docker container rm otel-collector-multitenant-tempo-1
docker compose up -d

tempo-13.png

其它

另外可以参照 Tempo data source 的配置说明: Trace to metrics

0

评论区