家里搭了个小服务器,用来跑博客、存点照片和偶尔给朋友分享电影,结果一忙起来就忘了看状态。前两天硬盘爆了,照片没备份,折腾半天才恢复。后来琢磨着得装个监控工具,但又不想搞得太复杂,毕竟机器配置也就2核4G,跑不动那些臃肿的系统。
为什么选轻量级?
大厂用的监控方案动辄一堆组件,Zabbix、Prometheus配上 Grafana,一套下来光部署就得一整天。对于我们这种个人用户或者小团队来说,太重了。不仅吃内存,学习成本也高。而轻量级监控软件,资源占用低,安装几分钟搞定,界面简洁,关键指标一眼就能看到。
几款实用又省心的工具
Gotty 是个挺有意思的选择。它能把终端命令变成网页界面。比如你常用 htop 看CPU和内存,用 Gotty 包一下,就能在手机浏览器里打开链接实时查看。不需要额外数据库,启动一个进程就行,适合临时查状态。
go get github.com/yudai/gotty
gotty -p 8080 htop
访问 http://你的IP:8080 就能看到 htop 的实时画面。当然,为了安全,建议加个密码或者反向代理限制访问范围。
另一个是 Netdata,这个更全面一些。安装完自动开始采集数据:CPU温度、磁盘IO、网络流量、进程列表全都有。界面是响应式的,手机上看也不费劲。重点是,它默认只占100MB左右内存,老机器也能扛得住。
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
装完等几分钟,打开 http://你的IP:19999 就进去了。不需要任何配置,适合“装完就想忘掉”的人。
如果你只想盯某个具体服务,比如Nginx或者MySQL,Telegraf + InfluxDB + Grafana 组合可以精简使用。只开Telegraf采集,把数据扔到InfluxDB,再用Grafana画图。虽然组件多点,但每一部分都能单独控制资源,比完整Prometheus方案轻多了。
怎么选合适自己的?
看你想要什么。如果只是想随时看看服务器还活着没,CPU有没有跑满,Netdata 几分钟内就能给你答案。要是已经有现成的VPS在跑Docker,不妨试试 cAdvisor 配合 Portainer,容器状态一目了然。
我自己现在用的是 Netdata + 微信推送脚本。一旦内存超过85%,自动发消息到手机。有次半夜收到通知,发现是日志文件疯狂增长,及时清理避免了宕机。
轻量不是将就,而是恰到好处。工具不在多,在于能真正帮你省心,而不是变成另一个要维护的东西。