集群上的指标堆栈

集群上的指标堆栈

Linkerd 提供完整的集群上指标堆栈,包括 CLI 工具Web 仪表板和预配置的 Grafana 仪表板

要访问此功能,请安装 viz 扩展:

linkerd viz install | kubectl apply -f -

此扩展将以下组件安装到您的 linkerd-viz 命名空间中:

  • 一个 Prometheus 实例
  • 一个 Grafana 实例
  • metrics-apitaptap-injectorweb 组件

这些组件协同工作以提供集群上的指标堆栈。

为了限制集群上过度使用资源,此扩展存储的指标是暂时的。仅存储过去 6 小时,并且指标不会在 pod 重启或节点中断的情况下保留。

操作注意事项

此指标堆栈可能需要大量集群资源。尤其是 Prometheus,它会根据集群内的流量消耗资源。

此外,默认情况下,指标数据以瞬态方式存储,对 pod 重启或节点中断没有弹性。有关解决此问题的一种方法,请参阅扩展 Prometheus

Linkerd 仪表板

Linkerd 仪表板提供实时服务发生情况的高级视图。它可用于查看 “黄金” 指标(成功率请求/秒延迟)、可视化服务依赖关系并了解特定服务路由的健康状况。拉起它的一种方法是从命令行运行 linkerd viz dashboard

Top Line Metrics

Grafana

作为控制平面的一个组件,Grafana 为您的服务提供开箱即用的可操作仪表板。可以查看高级指标并深入了解细节,甚至是 pod

开箱即用的仪表板包括:

Top Line Metrics

Deployment Detail

Pod Detail

Linkerd Health

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 显示跨单个 poddeployment 甚至 emojivoto 命名空间中的所有内容的请求流:

linkerd -n emojivoto viz tap deploy/web

如果您想改用浏览器,所有这些功能也可在仪表板中使用:

Top Line Metrics

Deployment Detail

Top

Tap