导读:本站讲过的监控方案分两路:Uptime Kuma盯的是“网站还活着吗”,Prometheus + Grafana看的是“单机指标细不细”。但有个场景一直空着——你手里有五台、十台、二十台VPS,分散在不同商家、不同地区,怎么用一个页面把它们的实时负载、流量、在线状态全部收进一屏?总不能开二十个SSH窗口吧。这篇讲哪吒探针(Nezha):面板部署在一台机器上,其余机器装个几十兆的Agent,CPU、内存、磁盘、网络流量、TCP连接数实时上报,掉线秒级告警推到Telegram或微信。全程Docker部署,半小时搭完。
一、多机管理的真实痛点:你缺的不是监控,是聚合
先对号入座。本站之前的Uptime Kuma教程解决“外部可用性”:域名能不能打开、HTTP状态码对不对。Prometheus方案解决“单机深度”:某台机器的内存曲线、磁盘IO细节。这两套方案在多机场景下都会变别扭:Uptime Kuma要手动添加几十个监控项,还看不到机器内部;Prometheus要在每台机器装exporter,Grafana面板配置繁琐,机器一多仪表盘爆炸。
真正的需求其实长这样:一个页面,每台机器一张卡片,卡片上跳动着实时CPU和内存,网络流量有上下行数字,谁掉线了卡片变红并给我手机推一条消息。每月月底看一眼,每台机器跑了多少流量一目了然。
这就是“探针”类工具的定位。哪吒探针是国人开发的开源项目,专为多VPS聚合监控而生,界面中文、资源占用极低、部署简单,在VPS玩家圈几乎是标配。同类还有ServerStatus(更老牌、更简陋)和Komodo(偏Docker管理),这篇以功能均衡的哪吒为主角。
二、架构先搞懂:面板端和Agent端是两回事
哪吒探针分两部分,理解了这个,部署和排障都不会迷路。
面板端(Dashboard):只部署一台,跑在你常驻的主力机器上。它提供Web界面、存储历史数据、发送告警。对配置要求极低:1核512M的机器就能跑,因为面板本身用的SQLite存数据,占用常年在100M内存以内。
Agent端(探针):每台被监控的机器装一个。它是个静态编译的Go程序,体积十几兆,负责采集本机指标并通过gRPC上报给面板。Agent不上报任何敏感数据,只读系统指标。
数据流:Agent每隔一秒采集,向面板端的长连接推送。面板端收到后写库、刷新前端页面。掉线检测靠这条长连接:连接断开,面板立刻标记机器离线并触发告警。
一个关键设计:Agent到面板走的是出站长连接,也就是说Agent所在的机器不需要开任何入站端口,只要它能访问面板端的端口就行。这意味着哪怕你的小鸡在层层NAT后面、防火墙只出不进,照样能被监控。这一点比很多老式方案(要求每台机器开采集端口)友好太多。
三、面板端部署:一条Docker命令的事
准备一台常驻机器(本站之前讲过的自托管应用都可以跟它合租)。建目录写docker-compose.yml:
services:
nezha-dashboard:
image: ghcr.io/naiba/nezha-dashboard:latest
container_name: nezha-dashboard
restart: unless-stopped
volumes:
- ./data:/dashboard/data
ports:
- '127.0.0.1:8008:8008'
跟本站Compose教程的套路完全一致:数据落盘到data目录、只绑回环地址、崩溃自动拉起。8008是面板默认端口,按需修改。
启动:
docker compose up -d
浏览器访问(建议先配好反代,套上HTTPS,参照本站反代教程),首次进入会让你设置管理员账号密码,登录后台。
进后台第一件事:管理面板里找到“服务器”菜单,添加一台服务器,拿到一个Agent密钥(secret)。这个密钥是Agent接入面板的凭证,后面每台机器都要用它。
四、Agent安装:一行命令铺到所有机器
在面板后台复制安装命令,形如:
curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/agent/install.sh -o agent.sh && chmod +x agent.sh && env NZ_SERVER=面板IP:8008 NZ_TLS=false NZ_CLIENT_SECRET=你的密钥 ./agent.sh
把这条命令SSH到每台小鸡上跑一遍,Agent就装好并连上面板了。机器多的话,配合本站讲过的SSH别名技巧,一个for循环批量铺完:
for h in vps1 vps2 vps3; do ssh $h '安装命令'; done
装完刷新面板,每台机器的卡片就出现在首页:CPU占用、内存占用、实时网速、流量累计、在线时长、系统版本、虚拟化架构,全部实时跳动。
值得单独说的一点:Agent支持gRPC的反代。如果你的面板域名套了Cloudflare,注意CF的免费版对gRPC长连接支持有限(需开启gRPC支持且稳定性一般),生产建议面板端直连IP加端口,或者自配Nginx的gRPC反代。这是部署哪吒最高频的翻车点,先把这一条记牢。
五、把监控变成告警:通知规则配置
只看不做告警等于没监控。进面板的“通知”设置,先配通知方式,再配触发规则。
通知渠道支持Telegram Bot、企业微信、钉钉、飞书、邮件、Webhook。以Telegram为例:找BotFather建机器人拿token,拿自己的chat_id,填进面板,点测试,手机收到消息即通。
告警规则用哪吒的表达式语法,几个实用例子:
CPU持续告警:cpu_avg > 90 持续 300 秒——CPU均值超90%五分钟,推消息。
内存告警:mem_used_percent > 90
磁盘告警:disk_used_percent > 85——防患于未然,别等本站急救指南出场。
流量告警:(transfer_out + transfer_in) > 1099511627776——月流量破1T提醒,配合站内vnstat教程双保险。
离线告警:面板默认在机器掉线时通知,这是最核心的一条,商家半夜重启机器你也能第一时间知道。
规则语法支持持续时长参数,避免瞬时毛刺误报。建议起步只开“离线+磁盘+流量”三条,跑稳了再加细的。
六、安全加固:面板暴露在公网的必修课
面板是个Web服务,公网可达就要按公网服务的标准对待。
第一,套HTTPS。用本站反代教程的certbot流程给面板域名上证书,登录凭证不明文传输。
第二,改默认端口+绑回环。compose里已经只绑127.0.0.1,外部只能经你的Nginx进入,这层隔离挡掉了绝大多数扫描。
第三,面板后台开两步验证。哪吒支持TOTP验证,后台安全设置里扫码绑定,手机装个验证器即可。
第四,Agent密钥妥善保管。泄露了别人可以伪造你的机器数据,虽然危害有限,但会污染监控。
第五,更新要跟。哪吒迭代较快,历史版本出过XSS类漏洞,参照本站Compose教程的更新三连(pull、up -d、prune)每月更新一次面板,Agent可以设置自动更新。
七、进阶玩法:让面板更好用
几个实用功能,用起来幸福感明显提升。
流量结算日自定义:设置里把月流量重置日改成你商家的账单日,面板显示的月流量才和商家计费口径一致。
自定义前端主题:哪吒支持替换前端主题,社区有大量现成主题,管理后台一键切换,颜值党福音。
计划任务:面板可以直接给所有机器下发定时任务(比如批量重启某服务),省去逐台SSH。用得不多但关键时刻省事。
DDNS与API对接:进阶用户可以对接Cloudflare API实现面板域名故障转移,多机场景还能玩面板多活。新手先跳过。
数据保留策略:默认SQLite会一直积累历史数据,磁盘紧张的机器可以在设置里限制保留天数,或者定期清理数据库文件。
结语
机器一多,“挨个SSH看top”的工作流就该淘汰了。哪吒探针把十几台分散的小鸡收进一个页面:状态一眼扫完、异常主动推送、流量按月结算。配合本站已有的Uptime Kuma(外部可用性)和Prometheus(深度指标),三层监控各司其职,你的整个VPS舰队就再没有盲区了。半小时的部署成本,换全年安心,这笔账怎么算都值。


