监控体系路线图(MONITORING-ROADMAP)¶
本文是跨工程的监控建设蓝图与缺口台账,回答「整套监控要建成什么样、现在差哪些、下一步做什么」。 现在是什么状态 →
HANDOFF.md;有哪些工程、谁依赖谁 →PROJECT-MAP.md;某工程怎么实施与排障 → 其SOP.md/RUNBOOK.md。来源:2026-09-29 监控现状评估(八维度规范对照 + 18 台主机覆盖矩阵 + G1–G8 缺口 + 三步蓝图)。 该评估此前仅存在于会话对话中,2026-09-30 首次落盘。P2 小节只收到前两行的截图,内容按 G7 推断并标注。
1. 评估口径:八个维度¶
| 维度 | 规范做法 | 2026-09-29 评估时现状 | 2026-09-30 进展 |
|---|---|---|---|
| 分层覆盖 | 硬件 → 主机 → 平台 → 应用 → 黑盒探测 → 监控自身,每层都要有探针 | 只到 K8s 平台层;硬件仅 R620 温度/风扇;黑盒与自监控缺失 | 主机层已补 14 台(P0 完成) |
| 主机方法 | USE:利用率 / 饱和度 / 错误 | K8s 4 台有,其余 14 台无 | 14 台已接入 node-exporter(P0) |
| 服务方法 | RED:请求率 / 错误率 / 时延 | 仅 apiserver 有 chart 自带 SLO,业务侧无 | 未开始 |
| 领域指标 | 调度器看队列积压 / 作业失败率;Lustre 看 OST·MDT 健康与 IO;FlexLM 看许可占用与拒绝次数 | 全缺 | 已补齐(Slurm / Lustre / LSF / FlexLM,P1 完成) |
| 告警纪律 | 分级路由 + 抑制 + 可行动 + for 时长 + watchdog 心跳 |
默认 null;Watchdog 被丢弃 = 放弃自监控 | 主机侧已完整(分级路由 + Watchdog 心跳 + 抑制规则修复);K8s 侧待办 |
| 数据纪律 | 采集间隔分层(15/30/60s)、保留分层 + 容量预算、标签统一 cluster / role |
统一 30s/15d;无 role 标签;扩容后未做序列预算 |
标签已在 P0 统一;容量预算属 G8 |
| 面板纪律 | 按受众分三层:环境总览 → 角色详情 → 单机 USE,变量下钻 | 26 个 mixin 平铺,无总览入口、无 HPC 语义 | 三层已闭合:环境总览(P0)+ 4 张角色详情(P1)+ 社区单机盘 |
| 黑盒与日志 | 对外端口/证书/域名探测 + 日志聚合 | 全无(G7) | 未开始(P2) |
2. 覆盖矩阵(评估时点 2026-09-29)¶
| 主机组 | 台数 | 指标采集 | 看板 | 告警 |
|---|---|---|---|---|
Dell R620 宿主(.250,IPMI + node-exporter) |
1 | 部分 | 部分 | 部分 |
K8s 节点(.10 / .13–.15) |
4 | 已覆盖 | 已覆盖 | 未覆盖 |
| K8s 控制面组件(etcd / scheduler / controller-manager / kube-proxy) | – | 未覆盖 | 未覆盖 | 未覆盖 |
| HPC 与许可集群(Slurm / Lustre / LSF / FlexLM) | 14 | 未覆盖 → 09-30 已覆盖主机层 | 未覆盖 | 未覆盖 |
评估结论原话:14/18 台主机无任何指标采集,且无对应看板与告警(截至 2026-09-30,前 14 台的主机层已补齐)。
3. 缺口台账(G1–G8)¶
| # | 缺口 | 落点工程 | 状态 |
|---|---|---|---|
| G1 | 14 台非 K8s 主机无采集(其余一切看板/告警都建立在其上) | env-monitor-deploy |
已完成(2026-09-30,P0) |
| G2 | K8s 控制面盲区:etcd/scheduler/controller-manager/kube-proxy 指标被整体关闭,单控制面集群尤其危险 | prometheus_deploy |
已完成(2026-10-03,control-plane-metrics-20261003):现场打开四类组件的 metrics 监听,target 全 up;四个孤儿 ServiceMonitor 收编回 helm release |
| G3 | 硬件层太薄:宿主只采温度/风扇,缺 RAID(perccli)、盘 SMART、电源、网卡/IB 错误 | dell-r620-monitor-20260929 扩展 |
待处理 |
| G4 | 缺领域指标:Slurm 队列与作业、Lustre OST/MDT 健康与 IO、LSF 队列、FlexLM 许可占用/拒绝 | env-monitor-deploy |
已完成(2026-09-30,P1;四领域 22 个指标 + 4 张角色看板 + 20 条告警) |
| G5 | 告警纪律缺失:默认 null、无分级/抑制/静默、Watchdog 被丢弃(等于放弃监控自身心跳) | 主机侧 env-monitor-deploy;K8s 侧 prometheus_deploy |
主机侧已完成(P0 分级路由;P1 补 Watchdog 心跳路由 + 修复失效的抑制规则);K8s 侧待办 |
| G6 | 大盘无总览入口:26 个 mixin 平铺,缺「环境总览 → 角色详情 → 单机 USE」下钻 | env-monitor-deploy |
已完成(P0 交付「环境总览」;P1 交付 4 张角色详情盘,三层结构闭合) |
| G7 | 无黑盒与日志:VIP:16443、GitLab 三域、LDAP/MariaDB 端口、证书到期全无探测;无 Loki | monitoring-p2-20261001 |
已完成(2026-10-01,P2):blackbox 9 个目标 + 证书告警;日志改用 EFK(非蓝图原文的 Loki,经用户重新选型)覆盖 4 K8s 节点 + 14 台主机 |
| G8 | 容量与自监控:Prometheus 单副本 + nfs-csi-hdd + 宿主 .249 与 NFS 同源故障域;纳入 14 台后序列数上升,需重做容量预算 |
prometheus_deploy |
已完成(2026-10-03 复核):容量充裕(序列 134,826 / TSDB 5.25GiB / 日增 396MiB,15 天外推约占声明 100GiB 的 6%),无需扩容或降采样;同源故障域属可用性取舍、非容量问题。容量水位告警见 control-plane-metrics-20261003/docs/SOP.md 附录 B |
4. 三步蓝图¶
P0 打地基 —— 已完成(2026-09-30)¶
原文交付清单:
- 采集端:14 台(.16–.29)装 node-exporter,systemd 托管、监听 9100;统一启用
systemd/processes/textfile collector,关闭 --collector.cmdline(避免泄露命令行)
- 标签规范:cluster=slurm|lustre|lsf|hpc|license、role=…、instance、job=node,
值直接取自 env-inventory/inventory.yaml
- 接入:静态 Service + Endpoints + ServiceMonitor
- 告警:① 采集自身死亡 up == 0(for 5m)+ Alertmanager Watchdog 心跳;② 主机基础规则——
磁盘使用率、inode、内存、CPU 饱和度、node_systemd_unit_state 关键服务、重启检测、NTP 漂移
- 告警通道:沿用 163 邮件,route 分级 + inhibit_rules(主机 down 时抑制其上所有告警)
- 大盘:新建「环境总览」(18 台红绿灯 + 按 cluster/role 下钻 + 告警计数),
mixin 26 原样保留作 K8s 详情页
实施结果:见 env-monitor-deploy/docs/SOP.md 与其 RUNBOOK.md。告警实际命名为
ExternalHost*(覆盖上述七类主机基础规则,加 ExternalHostNodeExporterDown = 采集自身死亡);
大盘 ConfigMap 为 env-monitor-overview。Watchdog 心跳在 P0 未接通(仍落 null),
已于 2026-09-30 的 P1 轮补齐,见下。
与原文的差异(1 处待决策):原文要求「P2 工作时间」发信,当前实现是 P2 全天 12h 重复。
未加 Alertmanager mute_time_intervals,因为「工作时间」的具体时段与夜间告警是否合并到次日
需用户定义 —— 属待决策项,不与实现体冲突,故未擅自设定。
原文的三个待实测点(实施时均已实测):
1. 安装源:prometheus-node-exporter 由 EPEL 提供(未用官方二进制),14 台均可解析并安装;
2. 防火墙:9100 放行的来源是节点 IP —— Calico natOutgoing 把 Pod 出集群流量 SNAT 成
节点 IP;实测只放行 Pod 网段时,11 台启用 firewalld 的主机抓取全部失败;
3. 容量:14 台接入后的序列数与内存余量属 G8,尚待复核(未做扩容前后对比测量)。
P1 上角色语义 —— 已完成(2026-09-30)¶
原定:加 Slurm、Lustre、FlexLM exporter(LSF 生态封闭,用 textfile collector 解析
bhosts / bjobs 兜底)【选型需实测】;交付角色看板 + 对应 PrometheusRule。
选型实测结论(2026-09-30,摸底已完成):四领域一律走 node_exporter textfile collector, 不部署专用 exporter。依据: 1. 集群侧
ghcr.io不可达,专用 exporter 需额外离线制品与新端口;textfile 路线不新增端口、不改防火墙、不改集群侧抓取配置; 2. 四领域原生命令实测均可用 —— Slurmsinfo/squeue/scontrol(/usr/local/slurm/bin)、Lustrelctl/lfs(/usr/sbin、/usr/bin)、LSFbhosts/bjobs/bqueues(/data/nfs/lsf/lsf/10.1/linux2.6-glibc2.3-x86_64/bin,NFS 共享)、FlexLMlmutil(/opt/FlexLM/Synopsys/lmutil,端口 5280/2700); 3. 命令均不在默认 PATH(Slurm/LSF 靠/etc/profile.d注入),采集脚本必须用绝对路径; 4. 14 台均有 python3,采集器用 Python 实现; 5. 已知限制:Lustre 容量须从挂载客户端取(.21/.22是 MGS/OSS,无客户端容量视图,lfs df无输出)。
P2 补完整链路 —— 已完成(2026-10-01)¶
原文:blackbox 探测(入口/域名/端口/证书)+ Loki 日志 + 保留期与降采样容量规划,业务侧可选做 SLO。
实际交付(2026-10-01,工程 monitoring-p2-20261001):
- 黑盒探测:blackbox-exporter + 9 个 Probe(apiserver VIP:16443、5 个 HTTPS 域名、LDAP 389/636、MariaDB 3306)+ 4 条告警(探测失败/缓慢/证书 30 天/14 天)。探测范围较原文有收缩:
kas/registry两域经实机核查无对外入口(绑定 Envoy Gateway 且PROGRAMMED=False),未纳入。 - 日志聚合:选型由 Loki 改为 EFK(用户重新选型;不含 Logstash,Filebeat 直投 ES)。Elasticsearch/Kibana/Filebeat 8.19.0;采集面 = K8s DaemonSet(4 节点)+ 集群外 systemd(14 台);ILM 保留 14 天 + 20 GB rollover。
- 保留期与容量规划:ILM 定档;Prometheus 扩容后容量已实测(14 天 TSDB 占 5.1 GiB / 100 Gi)。降采样(recording rules)未做,是否落地待定。
对应 G7(已完成)与 G8 的一部分。详见工程 docs/SOP.md。
5. 进度登记¶
| 日期 | 事项 | 结果 |
|---|---|---|
| 2026-09-29 | 监控现状评估(八维度 / 覆盖矩阵 / G1–G8 / 三步蓝图) | 形成本蓝图 |
| 2026-09-30 | P0 交付 | 14 台主机层接入并验证(幂等复跑零变更) |
| 2026-09-30 | P1 摸底 | 四领域命令可用性实测完成,选型定为 textfile collector |
| 2026-09-30 | P1 · 四领域实施 | 完成:Slurm / Lustre / LSF / FlexLM 采集器落地(8 个目标),22 个指标经 9100 暴露,Prometheus up 14/14 |
| 2026-09-30 | P1 · 集群侧 | 完成:4 张角色看板(env-slurm / env-lustre / env-lsf / env-flexlm)+ 20 条告警(env-slurm-alerts / env-domain-alerts) |
| 2026-09-30 | P0 遗留补齐 | 完成:Watchdog 心跳改走 env-monitor-email-p3(每日一报);修复从未生效的抑制规则(EnvHostDown → ExternalHostNodeExporterDown) |
| 2026-09-30 | P1 验收 | verify 全过;幂等复跑 14 + 8 + 3 全部跳过、零变更。变更档案见 env-monitor-deploy/docs/SOP.md 附录 G.2 |
| 2026-09-30 | P1 · Slurm EDA 深化 | 完成:Slurm 采集命令 3→8、指标 11→35,大盘 27 面板 / 7 分组(附录 G.5) |
| 2026-10-01 | P1 · LSF EDA 深化 + 缺陷修复 | 完成:LSF 采集命令 3→8、指标 6→36,大盘 30 面板 / 7 分组,新增 env-lsf-alerts 12 条。同时纠正 G4 结论:LSF 部分此前实际未生效 —— systemd 非登录环境缺 LSF_ENVDIR/LSF_SERVERDIR,命令 rc=255 且报错文本被当表格解析,lsf_up 长期误报 1;现已修复(附录 G.6) |
| 2026-10-01 | P2 · 黑盒探测 + 日志聚合 | 完成:EFK(ES/Kibana/Filebeat 8.19.0)覆盖 4 K8s 节点 + 14 台主机(幂等复跑零变更);blackbox 9 目标全绿 + 4 条告警;ILM 14 天。G7 关闭;G8 容量复核已做、降采样待定。工程 monitoring-p2-20261001 |
| 2026-10-03 | G2 + G8 收口 | 完成:控制面四类指标接入(7 条 target 全 up、四个孤儿 ServiceMonitor 收编入 release);容量水位告警补齐(宿主 NFS 后端盘 + Prometheus TSDB);容量预算复核为充裕。工程 control-plane-metrics-20261003 |
来源:
/home/rain/Documents/k8s_ins/docs/MONITORING-ROADMAP.md| 最后更新:2026-10-03 01:42(由build/sync.py同步,请勿在站点侧修改)