15. 集群上的指标堆栈
Linkerd
提供完整的集群上指标堆栈
,包括 CLI 工具
、Web 仪表板
和预配置的 Grafana 仪表板
。
要访问此功能,请安装 viz
扩展:
linkerd viz install | kubectl apply -f -
此扩展将以下组件安装到您的 linkerd-viz
命名空间中:
- 一个 Prometheus 实例
- 一个 Grafana 实例
metrics-api
、tap
、tap-injector
和web 组件
这些组件协同工作以提供集群上的指标堆栈。
操作注意事项
此指标堆栈可能需要大量集群资源。尤其是 Prometheus
,它会根据集群内的流量消耗资源。
此外,默认情况下,指标数据以瞬态方式存储,对 pod
重启或节点中断没有弹性。
有关解决此问题的一种方法,请参阅扩展 Prometheus。
Linkerd 仪表板
Linkerd
仪表板提供实时服务发生情况的高级视图。
它可用于查看 “黄金” 指标(成功率
、请求/秒
和延迟
)、可视化服务依赖关系
并了解特定服务路由的健康状况。
拉起它的一种方法是从命令行运行 linkerd viz dashboard
。

Grafana
作为控制平面的一个组件,Grafana
为您的服务提供开箱即用的可操作仪表板。
可以查看高级指标并深入了解细节,甚至是 pod
。
开箱即用的仪表板包括:
linkerd -n emojivoto check –proxy
示例
在这些示例中,我们假设您已经安装了 emojivoto
示例应用程序。
有关如何执行此操作,请参阅入门指南。
您可以使用仪表板扩展程序(dashboard extension)
并查看演示应用程序中的所有服务。
由于演示应用程序带有负载生成器(load generator)
,我们可以通过运行以下命令来查看实时流量指标
:
linkerd -n emojivoto viz stat deploy
这将显示每个 deployment
的 “黄金” 指标:
- 成功率
- 请求率
- 延迟分布百分位数
为了进一步深入研究,可以使用 top
来实时查看正在调用哪些路径:
linkerd -n emojivoto viz top deploy
为了更深入,我们可以使用 tap
显示
跨单个 pod
、deployment
甚至 emojivoto
命名空间中的所有内容的请求流:
linkerd -n emojivoto viz tap deploy/web
如果您想改用浏览器,所有这些功能也可在仪表板中使用: