给个人服务器装一套轻量监控:Komari 上手与节点接入实录
给个人服务器装一套轻量监控:Komari 上手与节点接入实录
为什么想装监控
手里的云服务器慢慢多起来之后,一个很实际的问题浮了出来:哪台还活着、哪台负载不正常、流量跑了多少,全靠记忆和偶尔 SSH 上去看一眼,既不及时也不成体系。哪吒监控这类工具早就名声在外,这次我试了另一个更年轻的开源项目 Komari:一套自托管的服务器监控面板,Go 编写,MIT 协议,面板加探针(Agent)的经典架构,支持 1 秒级的实时数据和历史曲线。更吸引我的是它的 Web 终端功能,装完之后顺带多了一个网页端的运维入口。
这篇文章记录我在一台华为云 ECS 上从零装好面板、接入节点的全过程,以及中间踩的几个坑。
安装面板:一条命令的事
Komari 提供一键安装脚本,在服务器上执行后按向导走即可。我这台机器装的是 1.6.1 版本。安装向导里唯一需要做选择的是数据库:默认 SQLite(数据文件 ./data/metrics.db),也可以选 PostgreSQL。我的决定是保持默认 SQLite,理由很简单:
- 节点数就个位数,SQLite 的性能绰绰有余;
- 少一个常驻进程,运维面更小;
- 备份就是复制一个文件,迁移和恢复都直观。
需要注意的是,后期想从 SQLite 切到 PostgreSQL,并没有一键迁移历史数据的通道,所以节点规模预期会涨得很快的,建议安装时直接上 PostgreSQL。装好后通过 http://服务器IP:25774 就能打开面板。
接入节点:给面板自己也装一个探针
面板装好不等于能看到数据——包括面板所在的这台主机在内,每一台被监控的机器都要单独装 Agent。面板提供了「自动发现」的接入方式:在节点管理里生成一条带密钥的安装命令,到目标机器上执行即可。
我在面板主机上执行这条命令时,遇到第一个坑:Agent 二进制从 GitHub 下载极慢,十几 MB 的文件只有十几 KB/s,十多分钟才下了一大半。这是国内服务器访问 GitHub 的老问题。查过官方安装脚本源码后确认,它支持一个代理参数:
--install-ghproxy <镜像前缀>
在原命令末尾追加 --install-ghproxy https://gh-proxy.com 重新执行,下载立刻恢复正常速度。脚本本身其实也内置了几个备用镜像域名,只是默认路径没轮到。国内机器装任何依赖 GitHub 分发的探针类工具,这个参数都值得先备好。
第二个节点:一台海外沙箱机
第二台接入的是一台海外的沙箱机(Firecracker microVM,Debian 系统)。在它上面执行安装命令时连环踩坑:
- 命令里用的
wget不存在——这台机器只预装了curl; sudo apt install wget又报 “Unable to locate package”,因为 apt 软件源列表从没更新过。
解法其实不用装 wget:安装脚本本质上就是下载一个 shell 脚本再执行,把 wget 的写法换成等价的 curl -fsSL <脚本地址> | sudo bash -s -- <参数> 即可;以后要用 apt 装东西,先跑一次 sudo apt-get update。海外机器直连 GitHub 没有速度问题,不需要加 ghproxy 参数。
还有一个预期管理:这台沙箱机闲置 30 分钟会自动暂停,暂停期间节点在面板里显示离线、曲线断档,这是正常现象,唤醒后 Agent 会自动恢复上报,不要误判为故障。
安全提醒(重要)
两个真实教训:
- 面板默认是 HTTP 明文,打开就有红色警告。面板自带 Web 终端,等于一个远程执行入口,务必尽快套上 HTTPS,或者在云厂商安全组里把面板端口限制为只允许自己的 IP 访问。
- 自动发现密钥不要外传。生成接入命令时,面板地址和密钥会同屏出现,这时候截的图千万别随手发出去——拿到密钥的人可以往你的面板里注册任意节点,再叠加 Web 终端就是实打实的风险。
小结
整个部署下来,Komari 的体验符合预期:面板轻量、接入方式统一、实时性好。对于个人手里三五台机器的规模,SQLite 默认配置就够用,真正花时间的反而是国内网络下 GitHub 下载和不同机器的预装工具差异这两个老问题。如果你也在给自己的服务器找监控方案,这套组合值得一试。
(本文为真实部署记录整理,文中已隐去服务器地址与密钥信息。)
- 点赞
- 收藏
- 关注作者
评论(0)