机器与容器监控

想监控物理机 / 容器资源使用、或导入机器与容器监控看板时读这篇

01-架构原理 / 监控体系
node-exporter机器监控容器监控kubeletcAdvisormetricsgrafana dashboarddashboard 导入CPU内存网络KUBELET_AUTHZ_ARGSauthentication-token-webhook

机器与容器监控

监控机器使用情况(node-exporter)

Node exporter 主要用于暴露 metrics 给 Prometheus,其中 metrics 包括:CPU 的负载、内存的使用情况、网络等。

在 Prometheus 自带的机器监控中,可以选中目标机器 IP 获取指标数据。

机器监控

为了方便一次性查看所有机器,仓库里也提供了 dashboard 的 JSON 文件,自己导入即可。

所有机器看板

与代码一致:本仓库 dashboard JSON 位于 install/kubernetes/prometheus/grafana/dashboard/(机器相关有 node.jsonall-node.json,Pod/容器相关有 pod-info.json,集群利用率有 cluster-used-util.jsoncluster-req-util.json,GPU 有 dcgm.jsonnpu.json 等)。原文提到的 "prometheus/grafana-dashboard 文件夹" 在本仓库即此路径。node-exporter 的部署清单见 install/kubernetes/prometheus/node-exporter/

监控容器使用情况(kubelet)

容器的监控在 kubelet 中。有些部署方式 kubelet 启动时会提供 metrics 接口,有些部署方式默认没有启动。

如果你的 kubelet 没有提供 metrics 接口,需要修改启动参数:

#  /etc/systemd/system/kubelet.service.d/
Environment="KUBELET_AUTHZ_ARGS=--authentication-token-webhook=true --authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"

# 重启 kubelet
service kubelet restart

与代码一致:部署 kubelet 监控前需确保每个节点的 kubelet 添加了 authentication-token-webhook=trueauthorization-mode=Webhook 参数(见 install/kubernetes/prometheus/readme.md)。kubelet 的 ServiceMonitor 为 install/kubernetes/prometheus/servicemonitor/kubelet-sm.yml

仓库的部署文件中已经包含了 kubelet 的 metrics 采集和看板显示,也开源了容器监控的 dashboard 对应的 JSON 文件,自己可以配置 top 榜单便于排查问题。

容器监控


机器级别和业务(容器)级别的监控介绍完后,接下来介绍不同类型组件的监控,见 入口流量与中间件监控

最后更新 2026-06-30完整文档以官方仓库为准:GitHub Wiki