Incus 脚本审阅与验收SWES · 技术记录

Incus 审阅 07|Komari 显示在线以后,还要验证什么

Incus 脚本审阅与验收 · 第 7 / 8 篇 把六台小鸡接进一个监控面板,能减少来回登录的次数。但监控页面的一个在线标记,不能自动证明 SSH、业务端口和备份都正常。这篇把 Agent 安装、面板接收与故障恢复分开验收。 这份管理器负责什么 incus_komari_manager

Incus 脚本审阅与验收 · 第 7 / 8 篇

把六台小鸡接进一个监控面板,能减少来回登录的次数。但监控页面的一个在线标记,不能自动证明 SSH、业务端口和备份都正常。这篇把 Agent 安装、面板接收与故障恢复分开验收。

Agent 到监控面板的验证链路

这份管理器负责什么

incus_komari_manager.sh 从当前 Incus 远端与项目中列出名称为 vps数字 的实例,要求目标运行中,再进入对应容器安装或卸载 Agent。它不是扫描整个互联网的发现工具,也没有遍历所有 Incus 项目。

安装流程先在宿主机下载官方安装脚本,再推送进目标容器执行。容器里的 systemd 负责服务生命周期,Agent 再向 Komari 服务端上报。宿主机能下载 GitHub,不代表容器一定能连接面板;两段网络都要验证。

为什么关闭 Web SSH

现有配置明确带有 --disable-web-ssh,把监控上报和远程终端能力分开。对当前需求而言,先建立状态可见性,系统管理继续使用已有通道,能减少需要解释和维护的访问路径。它不表示关闭所有远程执行能力,也不应被写成完整安全审计结论。

其他参数包括采集间隔 10 秒、最大重试 5、重连间隔 10 秒和信息报告间隔 15 秒。它们是脚本传入的配置意图;究竟哪个参数作用于连接、采集或上报,应与安装时的 Agent 版本及 --help 一起保存,不要把参数名字推导成 SLA。Komari Agent 官方仓库

测试密钥为什么不能进入公开教程

现存脚本含有明文自动发现测试密钥。公开稿件不保留它的值,也不提供含该值的脚本下载。TEST ONLY 注释不会自动撤销密钥;若它仍有效,应由实际管理员在服务端轮换或撤销,再更新受保护的部署配置。

下一版可以从权限为 600 的配置文件读取面板地址和接入凭据,避免写进公开源码与终端截图;实际日志也要脱敏。这里是配置管理的演进建议,本次编写文章没有擅自更换面板密钥。

active 和在线是两层证据

incus exec vps3 -- systemctl is-active komari-agent
incus exec vps3 -- systemctl status komari-agent --no-pager
incus exec vps3 -- journalctl -u komari-agent -n 50 --no-pager

第一条证明服务被 systemd 判断为 active。然后还要检查日志是否有鉴权、TLS 或连接错误,并在面板核对正确节点的最后上报时间是否持续更新。日志可能包含连接信息,分享之前先检查敏感内容。

最后再做一个应用层检查,例如外部访问容器内的 HTTP 服务。Agent 上报依赖的出站路径和用户访问业务的入站路径不同;一种正常,不足以推断另一种正常。

容器监控的数字应该怎样理解

系统容器共享宿主机内核。CPU、内存、磁盘和网络指标是否按容器限制口径呈现,取决于 Agent 的采集实现及环境。不能看到面板上一个数字,就宣称它代表独占硬件、计费流量或完整的资源隔离。

可在测试实例中对照 incus info vps3、容器内 /proc 与 cgroup 信息、Agent 版本和面板显示,记录口径差异。轻负载、压力负载和重启后分别观察,才有依据决定告警阈值。本文没有现成压测数据,因此不填写虚构的 CPU 占用或内存开销。

卸载以后为什么面板上仍有节点

代码停止并禁用服务,删除官方默认的 unit、程序目录与日志,再检查本地文件和服务状态。面板保存的节点记录属于服务端数据,不会因为容器删了程序就必然消失。教程应分别写清本地卸载与面板清理。

卸载路径是硬编码的;如果用户曾自定义安装位置,不能直接保证清理完整。更稳妥的版本先读取 unit 和实际二进制路径,再显示拟删除清单。容器重装后,Agent 也需要重新部署;还应确认自动发现是否生成重复节点,而不是让面板记录越积越多。

合理的最终效果:选中正确实例、服务运行、面板持续接收、断线后可恢复、重装后节点归属清晰。现有脚本能执行相关操作,但这组结果仍需凭版本、日志和面板时间戳验证。

系列阅读目录

  1. 01|一台 VPS 拆成六台“小鸡”,到底拆出了什么

  2. 02|部署之前先算清楚,3GiB 根盘与 12GiB 存储池如何配合

  3. 03|容器能启动却不能联网,为什么要查 Docker 的转发规则

  4. 04|端口不是越多越好,让每个公开入口都有归属

  5. 05|只重装一台小鸡,保住的究竟是配置还是数据

  6. 06|菜单不再秒退之后,为什么还要检查 YAML 缩进和密码记录

  7. 07|Komari 显示在线以后,还要验证什么

  8. 08|怎样才算真正做好,把“完美结果”写成可复查的验收单

感谢阅读 · 保持好奇,认真记录。浏览更多文章 ↗