多台服务器怎么统一监控?哪吒面板部署、钉钉告警与远程访问教程
2026/7/29 15:20:13 网站建设 项目流程

前言

只管理一台服务器时,偶尔通过SSH登录,使用htopdf -h等命令检查运行状态,通常不会占用太多时间。但当手里的VPS、NAS、树莓派和测试服务器逐渐增多后,逐台登录查看不仅麻烦,也很难及时发现某台设备已经离线或者资源占用异常。

更实际的问题是,服务器出现故障时,人不一定正好守在电脑前。CPU持续升高、磁盘空间不足或者节点突然离线,如果只能等到网站打不开或者用户反馈后才发现,处理往往已经比较被动。

哪吒面板是一套采用Dashboard与Agent架构的自托管服务器监控工具。服务端负责集中展示数据,每台被监控设备安装Agent后,就可以在同一个页面中查看CPU、内存、磁盘、网络流量和在线状态,并根据设置的规则发送异常通知。

本文将完成哪吒面板服务端安装、Linux和Windows节点接入,并处理Agent无法正常连接的问题。随后配置钉钉机器人告警,最后通过cpolar为监控面板建立公网访问地址,方便在外部网络中查看服务器状态和处理异常。

1.什么是哪吒面板?

哪吒面板(Nezha Monitoring) 是一款 开源、跨平台、自托管的服务器监控与管理面板,专为个人开发者、运维人员和小型团队设计,用于集中监控多台服务器(包括VPS、云主机、树莓派、NAS等)的实时状态。

主要特性

功能说明
😊多节点管理一个Dashboard管理数十台甚至上百台主机
💕简洁 UI响应式Web界面,支持暗色主题,手机/PC 体验一致
📊 实时监控CPU、内存、磁盘、带宽、在线率、进程数、负载等指标
🌐 跨平台 Agent支持 Linux、Windows、macOS、ARM(树莓派)、OpenWrt 等
🔀 双栈支持完美兼容IPv4 / IPv6网络环境
🔔 智能告警支持Telegram、Server、钉钉、企业微信、Bark等通知方式
🔒 自托管所有数据存储在你自己的服务器上,无隐私泄露风险

架构组成

哪吒面板采用 “Dashboard + Agent” 分离架构:

Dashboard(控制面板)

  • 运行在你的主服务器上(通常是一台公网VPS)
  • 提供Web界面(默认端口8008)
  • 存储监控数据(使用SQLite或MySQL)

Agent(客户端)

  • 部署在每一台被监控的机器上(可内网)
  • 轻量级(Go编写,资源占用极低)
  • 主动上报数据到Dashboard

通信基于WebSocket + TLS,安全高效。

与其他监控工具对比

工具优势不足
哪吒面板开源、轻量、中文友好、部署简单、支持Windows/ARM生态插件较少,不适合超大规模集群
Prometheus + Grafana功能强大、生态丰富配置复杂,学习成本高
Uptime Kuma专注HTTP/端口可用性监控不提供系统级指标(如CPU、内存)
宝塔面板集成建站+监控监控功能弱,非专注型工具

适用场景

  • 个人用户:监控家庭NAS、树莓派、博客VPS
  • 开发者:跟踪测试机、数据库、API服务状态
  • 小团队:统一查看所有业务服务器健康状况
  • IPv6用户:完美支持纯IPv6环境监控(国内少有工具做到)

2.安装哪吒面板服务端

2.1 环境准备

首先你应当准备好一台配置不低于1核512MB内存的公网服务器,这个配置可以满足大部分的使用场景。并且请提前安装好依赖unzip,并提前在防火墙或者是安全策略放行8008端口,否则无法访问网站以及接收相关数据!
安装unzip:

CentOS系统:

sudoyuminstallunzip# CentOS 7 及以下版本sudodnfinstallunzip# CentOS 8 及以上版本

Ubuntu或Debian系统:

sudoaptupdatesudoaptinstallunzip

2.2 开始安装

在安装服务端的服务器上,运行下面的安装脚本:

curl-Lhttps://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh-onezha.sh&&chmod+x nezha.sh&&sudo./nezha.sh

运行脚本后,会依次提示下方信息,如图所示继续操作(我选择手动安装):

等待服务端重启完成,不要关闭终端!

部署完成后,在浏览器中输入http://IP:8008就能看到哪吒面板的界面:

3.哪吒面板服务端配置

3.1 基础配置

点击右上方的登录,第一次登录的默认用户名和密码均为admin

修改密码:

3.2 客户端详细配置

看完4章教程后来配置

点击编辑按钮:

公开备注输入下文,这是默认主题:

{"billingDataMod":{"startDate":"2024-12-08T12:58:17.636Z","endDate":"2024-12-08T12:58:17.636Z","autoRenewal":"1","cycle":"Year","amount":"200EUR"},"planDataMod":{"bandwidth":"30Mbps","trafficVol":"1TB/Month","trafficType":"2","IPv4":"1","IPv6":"1","networkRoute":"4837","extra":"Einstein"}}

更新完后,也可以自定义字段:

返回前台查看变化:

4.客户端使用教程

4.1 准备工作

  • 客户端一般安装在被检测的服务器上,支持在Windows 、macOS和Linux上一键安装。安装服务端的服务器也可以安装客户端,2者并不冲突!

  • 客户端没啥配置要求,只要能联上服务端的服务器就行。

4.2 开始安装客户端

打开服务器一栏,点击右侧的“安装命令”,并选择被检测服务器所对应的系统,安装命令会自动复制到你的剪贴板上。

linux举例:

windows举例:

添加完成后,刷新网页,被检测服务器已经自动添加成功啦!

你可以点击编辑按钮为其设置名称:

返回前台可以查看到更直观的监控:

随意点击一个,查看它的详细信息:

也可以一键跳转终端:

4.3 客户端安装时出现的问题

这是linux给的自动安装脚本:

很奇怪,为什么我按照步骤安装,且没有报错,哪吒面板却没出现我的服务器?

修改Agent启动参数:关闭TLS

将你的安装/启动命令中的:

NZ_TLS="true"

改为:

NZ_TLS="false"
  • 哪吒Agent的NZ_TLS=true仅在服务端配置了有效TLS证书(如Let’s Encrypt或自签名证书并正确加载)时才使用。
  • 默认的Docker部署或二进制部署通常不包含HTTPS,所以应设为false。
  • 即使你用 Nginx反向代理做了HTTPS,Agent也应该连接内部HTTP地址(如 127.0.0.1:8008),而不是走公网HTTPS。

把NZ_TLS改成false,问题就能解决!

5.实现钉钉机器人告警

5.1 获取Webhook URL

创建机器人

在钉钉群的设置中添加机器人,选择自定义关键词方式。

步骤一:进入钉钉群 → 添加机器人

  • 打开钉钉 App,进入你想要添加机器人的群聊。
  • 点击右上角的「…」→ 选择「群设置」。
  • 在群设置页面中找到「智能群助手」或「群机器人」选项。
  • 点击「添加机器人」。

步骤二:选择“自定义”机器人

  • 在添加机器人页面,选择「自定义」类型(也叫“Webhook”方式)。
  • 填写机器人名称,例如:“哪吒”。
  • 选择「关键词触发」或「全部消息」,根据需求设置。
  • 点击「完成」。

获取Webhook URL

创建完成后获得。创建完成后直接复制Webhook URL。

5.2 钉钉群机器人配置示例

点击展开/收起
获取 URL 参数
  1. 创建机器人:在钉钉群的设置中添加机器人,选择自定义关键词方式。
  2. 获取 Webhook URL:创建完成后获得。

通知配置:

  • 名称:哪吒探针小跟班
  • URL

添加通知分组,如图操作:

5.3 配置告警规则

我这里测试的是cpu大于20%就告警:

[{"type":"cpu","max":10,"duration":5,"cover":0,"ignore":{"1":true,"2":false}}]

重点是一定要选择通知组!

这样钉钉群机器人就会在cpu>20%的时候告警啦!

5.4 监控规则分享

离线报警 规则:[{"Type":"offline","Duration":10}]解释:每10s坚持一次,如果离线会发通知。

CPU过高警告 规则:[{"type":"cpu","max":90,"duration":300}]解释:CPU超过90%发通知警告。

内存过高警告 规则:[{"type":"memory","max":90,"duration":300}]解释:内存占用超过90%发通知警告,300s一周期。

硬盘即将爆满 规则:[{"type":"disk","max":80,"duration":43200}]解释:硬盘占用超过80%发通知警告,12小时一周期。

6.安装cpolar实现随时随地开发

你是否遇到过这样的问题?

我在本地或内网部署了强大的 哪吒监控面板(Nezha Monitor),能实时查看服务器状态、网络流量、CPU负载……

但一旦离开公司/家庭网络,就再也无法访问?

想远程排查故障,却只能干着急?

传统方案如公网IP、DDNS、FRP、Nginx反向代理等,要么成本高,要么配置复杂,还涉及端口暴露、安全策略、动态IP等麻烦。

是时候认识 cpolar了!

cpolar—— 新一代内网穿透工具,专为开发者与运维打造。

6.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

6.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudocurlhttps://get.cpolar.sh|sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudosystemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

7.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:nezha,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8008
  • 域名类型:随机域名
  • 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

8.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是nezha,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结

完成以上配置后,多台服务器的运行状态就可以集中显示在哪吒面板中。进入管理页面后,可以查看各个节点的CPU、内存、磁盘、网络流量和在线状态,也可以根据不同设备补充名称、备注和相关信息。

相比只在出现问题后逐台登录服务器排查,监控面板更重要的价值是提前发现异常。通过设置离线、CPU、内存和磁盘告警规则,并连接钉钉机器人,当节点失联或资源占用超过设定范围时,相关通知可以直接发送到群聊中。

通过cpolar配置公网隧道后,哪吒面板也不再局限于服务器所在的局域网。继续绑定固定二级子域名后,可以使用长期不变的地址从电脑或手机访问监控页面,更适合日常远程运维。

这套方案适合个人VPS、家庭服务器、NAS以及节点数量不多的小型团队。实际使用时,还需要妥善保管面板账号、Agent连接信息和钉钉Webhook地址,并根据服务器的正常负载调整告警阈值,避免设置过低造成频繁误报。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询