机器与容器监控
监控机器使用情况(node-exporter)
Node exporter 主要用于暴露 metrics 给 Prometheus,其中 metrics 包括:CPU 的负载、内存的使用情况、网络等。
在 Prometheus 自带的机器监控中,可以选中目标机器 IP 获取指标数据。

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

与代码一致:本仓库 dashboard JSON 位于
install/kubernetes/prometheus/grafana/dashboard/(机器相关有node.json、all-node.json,Pod/容器相关有pod-info.json,集群利用率有cluster-used-util.json、cluster-req-util.json,GPU 有dcgm.json、npu.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=true和authorization-mode=Webhook参数(见install/kubernetes/prometheus/readme.md)。kubelet 的 ServiceMonitor 为install/kubernetes/prometheus/servicemonitor/kubelet-sm.yml。
仓库的部署文件中已经包含了 kubelet 的 metrics 采集和看板显示,也开源了容器监控的 dashboard 对应的 JSON 文件,自己可以配置 top 榜单便于排查问题。

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