跳到正文
Træfɪk

追踪

Traefik Proxy 的追踪功能可跟踪系统内的操作流转。借助 trace 和 span,您可以发现性能瓶颈,定位引起延迟的应用,从而有效优化响应时间。

Traefik Proxy 使用 OpenTelemetry 导出追踪数据。OpenTelemetry 是开源可观测性框架。您可以将追踪数据发送到 OpenTelemetry 收集器,再由收集器导出到 Jaeger、Zipkin、Datadog 等各种后端。

配置

要在 Traefik Proxy 中启用追踪,需要在静态配置文件中配置;如果使用 Helm chart,则可在 Helm values 中配置。以下示例演示如何配置 OpenTelemetry 提供者,通过 HTTP 将追踪数据发送到收集器。

tracing:
  otlp:
    http:
      endpoint: http://myotlpcollector:4318/v1/traces
[tracing.otlp.http]
  endpoint = "http://myotlpcollector:4318/v1/traces"
# values.yaml
tracing:
  otlp:
    enabled: true
    http:
      enabled: true
      endpoint: http://myotlpcollector:4318/v1/traces

提示

详细配置选项请参阅追踪参考文档。

按路由器配置追踪

您可以为特定路由器启用或禁用追踪。这适合在全局保持启用的同时,为特定路由关闭追踪。

下面是在特定路由器上禁用追踪的示例:

http:
  routers:
    my-router:
      rule: "Host(`example.com`)"
      service: my-service
      observability:
        tracing: false
[http.routers.my-router.observability]
  tracing = false
# ingressoute.yaml
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: my-router
spec:
  routes:
    - kind: Rule
      match: Host(`example.com`)
      services:
        - name: my-service
          port: 80
      observability:
        tracing: false
labels:
  - "traefik.http.routers.my-router.observability.tracing=false"
{
  // ...
  "Tags": [
    "traefik.http.routers.my-router.observability.tracing=false"
  ]
}

如果路由器未定义 observability 选项,就会继承入口点的可观测性配置或全局配置。


版权所有 © 头文件软件工作室

文档由 HeadFile Studio 翻译。

Traefik v3.7 中文快照 · 原文版权归 Traefik Labs 及贡献者所有 · MIT 许可证