跳到正文
Træfɪk

Observability

Traefik 的可观测性功能包括日志、访问日志、指标和链路追踪。可以全局配置这些选项,也可以在更具体的级别配置,例如按路由器或入口点配置。

默认情况下,路由器的可观测性配置继承自附加的入口点,可通过可观测性选项配置。 但是,路由器定义自己的可观测性配置后,就不再使用这些默认值。

提示

要启用路由器级别的可观测性,必须先启用 访问日志、 链路追踪 和指标。

如果没有通过 addEntryPointsLabels、addRoutersLabels 和/或 addServicesLabels 选项启用对应的指标层级, 为路由器启用指标也不会启用这些层级。

AddInternals 选项

默认情况下,对于所有类型的信号(访问日志、指标和链路追踪), Traefik 都禁用内部资源的可观测性。 下述可观测性选项不能覆盖 AddInternals 选项, 会被忽略。

例如,如果路由器暴露 api@internal 服务,且 metrics.AddInternals 为 false, 即使路由器的可观测性配置启用了指标,它也不会产生指标。

配置示例

http:
  routers:
    my-router:
      rule: "Path(`/foo`)"
      service: service-foo
      observability:
        metrics: false
        accessLogs: false
        tracing: false
        traceVerbosity: detailed
[http.routers.my-router]
  rule = "Path(`/foo`)"
  service = "service-foo"

  [http.routers.my-router.observability]
    metrics = false
    accessLogs = false
    tracing = false
    traceVerbosity = "detailed"
labels:
  - "traefik.http.routers.my-router.rule=Path(`/foo`)"
  - "traefik.http.routers.my-router.service=service-foo"
  - "traefik.http.routers.my-router.observability.metrics=false"
  - "traefik.http.routers.my-router.observability.accessLogs=false"
  - "traefik.http.routers.my-router.observability.tracing=false"
  - "traefik.http.routers.my-router.observability.traceVerbosity=detailed"
{
  // ...
  "Tags": [
    "traefik.http.routers.my-router.rule=Path(`/foo`)",
    "traefik.http.routers.my-router.service=service-foo",
    "traefik.http.routers.my-router.observability.metrics=false",
    "traefik.http.routers.my-router.observability.accessLogs=false",
    "traefik.http.routers.my-router.observability.tracing=false",
    "traefik.http.routers.my-router.observability.traceVerbosity=detailed"
  ]
}

配置选项

字段 说明 默认值 必填
accessLogs accessLogs 选项控制路由器是否产生访问日志。 true 否
metrics metrics 选项控制路由器是否产生指标。 true 否
tracing tracing 选项控制路由器是否产生链路追踪。 true 否
traceVerbosity traceVerbosity 选项控制路由器链路追踪的详细程度。可选值为 minimal(默认)和 detailed。如果未设置,则继承入口点的值。 minimal 否

traceVerbosity(链路追踪详细程度)

observability.traceVerbosity 定义路由器链路追踪的详细程度。

可用值如下:

  • minimal:为路由器处理的每个请求生成一个服务器 span 和一个客户端 span。
  • detailed:为路由器处理的每个请求所执行的每个中间件额外创建 span。

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

文档由 HeadFile Studio 翻译。

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