跳转至

监控体系路线图(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. 四领域原生命令实测均可用 —— Slurm sinfo/squeue/scontrol(/usr/local/slurm/bin)、Lustre lctl/lfs(/usr/sbin、/usr/bin)、LSF bhosts/bjobs/bqueues(/data/nfs/lsf/lsf/10.1/linux2.6-glibc2.3-x86_64/bin,NFS 共享)、FlexLM lmutil(/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 同步,请勿在站点侧修改)