Grafana 数据源
您可以通过在 Grafana 中配置 Tempo 数据源,使用 Grafana 查询和可视化 TempoStack 实例的跟踪。
使用 Grafana Operator
如果您的 Grafana 实例由 Grafana Operator 管理,您可以指示 Tempo Operator 创建一个数据源(即 GrafanaDatasource 自定义资源)
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoStack
spec:
observability:
grafana:
createDatasource: true注意
必须在 Tempo Operator 配置中启用 feature gate
featureGates.grafanaOperator。
手动配置数据源
您可以选择是否使用 Tempo Operator 的网关
如果使用网关部署
TempoStack,您需要向 Grafana 提供认证信息,以及您希望查看跟踪的租户 URL。如果未使用网关,则需要确保 Grafana 可以访问
query-frontend端点。
更多信息请参考 Grafana 的 Tempo 数据源文档。
配合网关使用
网关是作为 Tempo Operator 一部分部署的可选组件,通过查询 OAuth/OIDC 端点获取请求主体,从而提供对 Tempo 的 Distributor(例如,用于推送 Span)和 Query-frontend(例如,用于查询跟踪)的安全访问。
OIDC 配置需要提供 clientID 和 clientSecret。它们应通过 TempoStack 管理员预先提供的 Kubernetes Secret 提供。
网关公开了所有 Tempo 查询端点,因此您可以将该端点用作 Grafana 的 Tempo 数据源。
如果 Grafana 配置了某些 OAuth 提供商(例如通用 OAuth),则部署带网关的 TempoStack 时应使用相同的 clientID 和 clientSecret
apiVersion: v1
kind: Secret
metadata:
name: oidc-test
stringData:
clientID: <clientID used for grafana authentication>
clientSecret: <clientSecret used for grafana authentication>
type: Opaque然后部署启用网关的 TempoStack
spec:
template:
gateway:
enabled: true
tenants:
mode: static
authentication:
- tenantName: test-oidc
tenantId: test-oidc
oidc:
issuerURL: http://dex:30556/dex
redirectURL: http://tempo-foo-gateway:8080/oidc/test-oidc/callback
usernameClaim: email
secret:
name: oidc-test将数据源 URL 参数设置为 http://<HOST>:<PORT>/api/traces/v1/{tenant}/tempo/,其中 {tenant} 是租户的名称。
要将其用作数据源,请将“Authentication Method”设置为“Forward Oauth Identify”,并为网关和 OAuth 配置使用相同的 clientID 和 clientSecret。这将把 access_token 转发到网关,以便它能认证客户端。

如果您希望直接设置 Bearer Token 而不使用“Forward Oauth Identify”,可以将其添加到“Authorization”请求头中。

不使用网关
如果您不使用网关,请确保您的 Grafana 可以访问 query-frontend 端点,您可以通过在 OpenShift 中创建 Ingress 或 Route 来实现这一点。
获取端点后,您可以在创建 Tempo 数据源时将其设置为 URL。


