Nezha 探针:几台机器跑得怎么样,一页看完
在每台机器上装一个小 agent,服务器、VPS、家里的 NAS 的 CPU、内存、流量、在线状态全汇总到一个面板。
如果你只有一台 NAS,飞牛自带的状态页够用。
但如果你还有一台 VPS、一台公司的开发机、一台给父母用的旧电脑——你想知道的是"它们现在都活着吗、谁的盘快满了"。
Nezha(哪吒探针)就是做这个的:一个面板,多台机器的状态。
装服务端
services:
nezha:
image: ghcr.io/nezhahq/nezha:latest
container_name: nezha
ports: ["8008:8008"]
volumes: ["./nezha:/dashboard/data"]
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
启动后看日志拿初始账号:
docker logs nezha 2>&1 | grep -i "admin\|password"
打开 http://NAS地址:8008,登录后第一件事改密码,然后建一个 API Token(在"设置"里),后面装 agent 要用。
在每台机器上装 agent
面板里点"添加服务器",它会给你一条安装命令,形如:
curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/agent/install.sh \
-o agent.sh && chmod +x agent.sh && ./agent.sh
安装时填两个值:面板地址(http://NAS的虚拟IP:8008)和 密钥。
注意:agent 要能访问到面板。如果那台机器在外网,面板得能被它访问到(用 ZeroTier / Tailscale 组网最省事,或者走隧道)。
装完几秒钟,面板上就多一台机器。
面板上能看到什么
实时:CPU、内存、磁盘占用、网络上下行速率。
历史:CPU 和流量的曲线图,能看过去 24 小时/7 天。
在线状态:掉线变灰,还能配告警(Telegram、邮件、webhook)。
任务下发:在面板上给某台机器发一条命令,远程执行——比 SSH 方便(但也是权限风险)。
流量统计:VPS 用户最关心这个,月度流量用超了会被停机。
和 Uptime Kuma 的分工
两个都装不冲突:
- Uptime Kuma:从外部探测——“这个网址能不能打开”;
- Nezha:从内部上报——“这台机器的 CPU 是多少、还剩多少内存”。
前者关心"服务是否可用",后者关心"机器是否健康"。
一个实际用法:盯 VPS 流量
VPS 通常有月流量限制,用超了直接停机。Nezha 能看到实时和累计流量,设一个告警阈值(比如到 80% 提醒),就不会突然被停。
另一个用法:盯家里的旧机器。给父母那台电脑装个 agent,硬盘快满了你能提前知道,不用等它蓝屏。
会踩的坑
机器显示"离线"但确实在跑 agent 连不上面板。检查面板地址能不能从那台机器访问到。
面板地址用了 localhost
agent 在另一台机器上,localhost 指的是它自己。填 NAS 的实际 IP。
流量数据不准 它统计的是网卡总量,包含内网流量。只算公网的需要额外配置。
远程执行命令要谨慎 这个功能等于给面板开了 shell。面板密码一定要强,别公开在公网。
agent 版本和服务端不匹配 升级要两边一起升,旧 agent 连新版面板可能失败。
它适合谁
- 手上有两台以上机器(NAS + VPS + 办公机)的;
- 关心流量限额、磁盘剩余、在线状态的;
- 想要一个"总览页",不用挨个 SSH 上去看。
不适合:只有一台 NAS 的(飞牛自带状态页够用);不想在每台机器装 agent 的。
最后
监控这件事的本质是:你得先看见,才能提前处理。
等磁盘满了再清理,等流量超了再停机,都是被动。Nezha 让你提前几天知道。
有问题留言。
留言