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
。