完善主机内存监控并将 Grafana 迁移至内网域名
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 主机与进程内存采集
|
||||
|
||||
2026-09-16 已增加 `process-exporter.yaml`,固定上游 0.8.7,以 DaemonSet 运行,
|
||||
只读挂载宿主机 `/proc`,每 60 秒由 VMPodScrape 抓取,不开宿主机端口。
|
||||
NetworkPolicy 仅放行同 namespace 的 vmagent。进程按名称分组,QEMU 按 guest 名,
|
||||
NetBox 和 VS Code 按路径归组;不把完整命令行或 PID 放进指标标签。
|
||||
|
||||
当前 live 使用 `gather-smaps=true`,导出 RSS、VmSwap、PSS、SwapPss 与进程数。
|
||||
`apparmor/homelab-process-exporter` 已安装到 `/etc/apparmor.d/homelab-process-exporter`
|
||||
并以 enforce 加载。用户明确批准了跨进程读取:SYS_PTRACE、DAC_READ_SEARCH 与
|
||||
`ptrace (read) peer=**`;文件权限限于指标需要的 proc 文件,不允许 ptrace trace,
|
||||
不开放 `/proc/<pid>/mem`、`environ`,不关闭 AppArmor,也未修改虚拟机或容器默认 profile。
|
||||
|
||||
当前只部署到 laptop。其他节点必须先安装同名 profile,再扩展 nodeSelector:
|
||||
|
||||
```bash
|
||||
sudo install -m 0644 apparmor/homelab-process-exporter /etc/apparmor.d/homelab-process-exporter
|
||||
sudo apparmor_parser -r /etc/apparmor.d/homelab-process-exporter
|
||||
```
|
||||
|
||||
修改 profile 可原位重载,无需重启业务。禁用时先删除 exporter DaemonSet,再卸载
|
||||
专用 profile;不要让引用 profile 的 Pod 在 profile 缺失时启动。
|
||||
|
||||
验证已读到三台虚拟机、NetBox、Codex 的非零 PSS/SwapPss。`namedprocess_scrape_errors`
|
||||
和 `namedprocess_scrape_procread_errors` 为零。上游会先读取再匹配进程,内核线程没有
|
||||
可读的 smaps_rollup 会计入 partial errors;现场有约 430 个这种线程。
|
||||
partial errors 不保证为零,应结合业务组 PSS 和 AppArmor 审计判断。
|
||||
RSS、PSS、cAdvisor working set、ARC 是不同口径,不能直接相加。
|
||||
|
||||
已有采集无需重复部署:
|
||||
|
||||
- node-exporter:主机内存、Swap、PSI、ZFS ARC。
|
||||
- ARC 实际指标名为 `node_zfs_arc_size`、`node_zfs_arc_c`、`node_zfs_arc_c_max`。
|
||||
- kubelet/cAdvisor:Pod/container working set、Swap 等。
|
||||
|
||||
Grafana 新增 `Homelab 内存与 Swap`(UID `homelab-memory`),由 sidecar ConfigMap 加载。
|
||||
仅使用 `job="node-exporter"` 查询主机指标,避免目前 `docker-hosts` 对同一 9100 端口
|
||||
的重复抓取。另有 `192.168.10.127:8080` Docker cAdvisor target 失效,本次未修改该旧配置。
|
||||
|
||||
所有新增 manifest 已纳入对应 Kustomization,并已单独应用到 live;尚未提交到远端,
|
||||
Flux source 尚未包含这些新增资源。修改 exporter ConfigMap 后需滚动重启 DaemonSet,
|
||||
程序不会自动重载进程匹配配置。
|
||||
Reference in New Issue
Block a user