6. 遥测和监控

Linkerd 最强大的功能之一是其围绕可观测性(observability)的广泛工具集— 在网格应用程序中测量报告观察到的行为。 虽然 Linkerd 没有直接洞察服务代码的内部结构,但它对服务代码的外部行为有着巨大的洞察力。

要访问 Linkerd可观测性功能,您只需要安装 Viz 扩展:

linkerd viz install | kubectl apply -f -

Linkerd遥测监控功能会自动运行,无需开发人员进行任何工作。这些功能包括:

  • 记录 HTTPHTTP/2gRPC 流量的顶级(“黄金”)指标(请求量成功率延迟分布)。
  • 记录其他 TCP 流量的 TCP 级别指标(输入/输出字节等)。
  • 报告每个服务、每个调用方/被调用方对或每个路由/路径(使用服务配置文件)的指标。
  • 生成拓扑图,显示服务之间的运行时关系
  • 实时、按需请求采样。

可以通过多种方式使用这些数据:

黄金指标

成功率

这是一个时间窗口(默认为 1 分钟)内成功请求的百分比

在命令 linkerd viz routes -o wide 的输出中,此指标分为 EFFECTIVE_SUCCESSACTUAL_SUCCESS。 对于配置了重试的路由,前者计算重试后的成功百分比(客户端感知), 后者计算重试前的成功率(可能暴露服务的潜在问题)。

流量(每秒请求数)

这概述了对 service/route 的需求量。 与成功率一样,linkerd viz routes --o wide 将此指标拆分为 EFFECTIVE_RPSACTUAL_RPS,分别对应于重试前后的比率

延迟

每个 service/route服务请求所花费的时间分为第 509599 个百分位数。 较低的百分位数可让您大致了解系统的平均性能,而尾部百分位数有助于捕捉异常行为

Linkerd 指标的生命周期

Linkerd 并非设计为长期历史指标存储。 虽然 LinkerdViz 扩展确实包含一个 Prometheus 实例, 但该实例会在很短的固定时间间隔(目前为 6 小时)内使指标过期。

相反,Linkerd 旨在补充您现有的指标存储。 如果 Linkerd 的指标有价值,您应该将它们导出到您现有的历史指标存储中。

有关更多信息,请参阅 导出指标