哪吒监控(Nezha)搭建教程:一台面板机管所有 VPS(保姆级)

手里三五台 VPS 的兄弟,最头疼的就是”每台都登进去看负载”——今天这台 CPU 爆了、明天那台磁盘满了,全靠手动。哪吒监控(Nezha)就是解决这个问题的:一台机器装面板,其余机器装 Agent,所有 VPS 的 CPU/内存/磁盘/网络/在线状态一屏看全,还能监控报警、定时执行任务、在线进终端。这篇教程从零搭建,跟着做就行。


快速上手:30 秒看懂要做什么

一台"面板机"(随便一台长期在线的 VPS)
   ├─ 装哪吒 Dashboard(面板)→ 提供网页 + 接收数据
   └─ 其他所有要监控的 VPS 装 Agent(探针)→ 上报数据
  • 面板机:建议选一台稳定、带宽好的 VPS(流量不大,1 核 1G 足够)
  • Agent:几乎不占资源,1 核 512M 的老鸡都能跑
  • 端口:面板默认开 8008(网页)+ 5555(Agent 通信)

一、哪吒监控是什么?

哪吒监控(Nezha)是开源的一站式轻监控轻运维系统(GitHub: nezhahq/nezha),Go 编写、单二进制部署,功能包括:

功能 说明
系统状态监控 CPU / 内存 / 磁盘 / 网络 / 在线状态,实时曲线
服务监控报警 HTTP / TCP / Ping 三种探活,异常自动告警
计划任务 定时在各台机器执行脚本(如每天清日志、定时备份)
在线终端 网页直接进任意一台服务器的终端(类似 SSH)
通知推送 Telegram / Server酱 / 钉钉 / 邮件 / PushPlus 等
主题自定义 支持自定义 CSS / 图标,界面可改

对比传统 ServerStatus 探针:哪吒多了监控报警、计划任务、在线终端三个硬功能,这也是它这几年成为社区主流的原因。


二、架构与原理

┌─────────────┐       gRPC(5555)       ┌──────────────┐
│  Agent(探针)│ ──────────────────────▶ │  Dashboard    │
│  VPS A/B/C   │   定期上报系统状态      │  面板机 VPS    │
└─────────────┘                        │  网页(8008)    │
                                       └──────────────┘
  • Dashboard(面板):跑在面板机上,提供 Web 界面,聚合所有 Agent 上报的数据
  • Agent(探针):跑在每台被监控的 VPS 上,通过 gRPC 协议定期上报 CPU/内存/磁盘/网络状态,并接收面板下发的任务
  • 通信默认走 5555 端口(gRPC);网页走 8008

理解即可,不用记——装的时候按下面步骤操作就行。


三、准备工作

  1. 一台面板机:建议 1 核 1G 及以上、系统 Debian/Ubuntu(CentOS 7 需先升级内核),需公网 IP
  2. 域名(可选但推荐):绑定面板用于 HTTPS 访问(如 nezha.你的域名.com);不用域名也能用 IP:8008 访问
  3. 开放端口:安全组/防火墙放行 8008(网页)和 5555(Agent),有防火墙的先开:
# 以 UFW 为例
ufw allow 8008/tcp && ufw allow 5555/tcp

四、搭建 Dashboard(二选一)

方式 A:Docker 部署(推荐,最省心)

mkdir -p ~/nezha && cd ~/nezha
cat > docker-compose.yml <<'EOF'
services:
  nezha-dashboard:
    image: ghcr.io/nezhahq/nezha
    container_name: nezha-dashboard
    restart: always
    ports:
      - "8008:8008"
      - "5555:5555"
    volumes:
      - ./data:/opt/nezha
EOF
docker compose up -d

需先装 Docker(curl -fsSL https://get.docker.com | sh)。数据存在 ./data,备份拷这个目录即可。

方式 B:脚本部署(无 Docker 环境)

curl -L https://raw.githubusercontent.com/nezhahq/nezha/master/script/install.sh -o nezha.sh
chmod +x nezha.sh
sudo ./nezha.sh

按提示选择”安装面板”,输入站点名称、管理密码等即可。

初始化

浏览器访问 http://面板机IP:8008

  1. 第一次访问进入安装页,设置管理员账号密码站点名称
  2. 登录后进入后台 → 记下服务器 ID 和密钥(Agent 安装要用)

五、添加被监控的 VPS(安装 Agent)

在面板后台「服务器」页点”新增服务器”,会生成一条安装命令,形如:

curl -L https://raw.githubusercontent.com/nezhahq/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh install_agent <面板域名或IP> <端口5555> <密钥> <加密方式>

每台要监控的 VPS 上执行这条命令即可。参数说明:

  • <面板域名或IP>:填面板机的域名或公网 IP
  • <端口>:默认 5555
  • <密钥>:面板生成的 Agent 密钥(每台不同)
  • <加密方式>:gRPC 加密(有域名+HTTPS 用 TLS,纯 IP 一般选明文或自签)

装完回到面板,约 10 秒内就能看到该机器上线,CPU/内存/磁盘/网络曲线开始刷新。

多台机器:每台重复”新增服务器 → 复制命令 → 执行”即可。Agent 支持自动升级(面板可开启)。


六、配置监控报警(重点功能)

1. 添加服务监控

后台「服务监控」→ 新增:

  • HTTP 监控:监控网站可用性(如 https://你的网站,可设期望状态码 200)
  • TCP 监控:监控端口(如 1.2.3.4:22 SSH 端口、:443 HTTPS)
  • Ping 监控:监控主机存活

每个监控可设失败次数阈值(如连续失败 3 次才告警,避免误报)。

2. 配置通知渠道

「通知」→ 新增,支持:

  • Telegram(机器人 + 群组,最常用)
  • Server酱 / PushPlus(微信推送)
  • 钉钉 / 企业微信
  • 邮件(SMTP)

配置好通知后,在服务监控里勾选”触发通知”,机器挂了你第一时间收到消息。


七、计划任务与在线终端

计划任务

「计划任务」→ 新增,选目标服务器组 + 执行间隔 + 脚本内容:

  • 定时清理:find /tmp -type f -mtime +7 -delete
  • 定时备份:脚本打包数据库推送到其他机器
  • 每日报告:汇总各机资源发到 Telegram

在线终端

面板机器列表点「终端」即可网页直接 SSH 进任意一台 Agent 机器——不用再翻 SSH 客户端,面板机做跳板。注意:这是面板的强权限功能,保管好你的管理员密码。


八、进阶:绑定域名 + HTTPS

裸 IP + 8008 端口访问不安全也不美观,推荐反代上域名:

# 以 Nginx 为例(面板机或另一台做反代)
server {
    listen 443 ssl;
    server_name nezha.你的域名.com;
    # SSL 证书配置(可用 acme.sh / certbot)
    location / {
        proxy_pass http://127.0.0.1:8008;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

关键:必须保留 Upgrade / Connection 头(WebSocket),否则面板实时刷新会断。有域名后 Agent 加密方式可改用 TLS,更安全。


九、常见问题 FAQ

Q1:哪吒监控占资源吗?
A:Agent 极轻(几 MB 内存),老 512M 鸡无压力;面板机 1 核 1G 带几十台机器没问题。

Q2:哪吒和 ServerStatus 探针有什么区别?
A:哪吒多了监控报警、计划任务、在线终端;ServerStatus 系列主要是”状态展示”。多机管理选哪吒,纯展示选 ServerStatus 也行。

Q3:Agent 连不上面板怎么办?
A:依次检查:① 面板机 5555 端口是否放行 ② 面板域名/IP 和端口是否填对 ③ Agent 密钥是否匹配 ④ 有防火墙的机器是否放行出站。面板日志有详细报错。

Q4:可以用 IP 不用域名吗?
A:可以,IP:8008 直接访问面板;Agent 地址也填 IP。只是没 HTTPS,建议至少面板设强密码。

Q5:面板机挂了是不是所有监控都停?
A:是——Agent 只上报给面板,面板挂了就没有展示和告警。所以面板机建议选最稳的一台(或做备份面板)。

Q6:能监控国外机器吗?
A:能,只要 Agent 能连上面板机(网络互通即可);跨国延迟只会让数据刷新稍慢。


十、注意事项

  1. 面板机选最稳的:它挂了全部监控停摆;重要数据(./data)定期备份
  2. 密钥别泄露:Agent 密钥 + 管理员密码是面板的命门;在线终端等于远程 SSH,务必强密码 + 二次验证
  3. 端口安全:8008/5555 尽量只对需要的 IP 开放,或靠反代 + 防火墙收紧
  4. Docker 方式升级docker compose pull && docker compose up -d 即可
  5. 遵守 ToS:监控自己的机器没问题,别拿在线终端功能去干不合规的事

结语

哪吒监控是 VPS 玩家的”多机管理神器”:十分钟装完,一屏看全所有机器。装好之后,配合站内的测试脚本教程(VPS 测试脚本使用指南)和 BBR 优化教程,从”监控”到”优化”到”测评”的工具链就齐了。

如果这篇教程帮到你,欢迎收藏分享;更多 VPS 实用教程和真实测评,关注 DigWall。


站内相关阅读

上一篇 DMIT 香港 HKG.AS3.T1 测评:1核/1G 国际线路 $36.9/年,值不值得买?
下一篇 Komari 探针教程:功能、用途与一键安装,一台面板机管所有 VPS