前言
哪吒面板的 Dashboard 能打开,并不代表监控系统已经真正跑通。
这次部署时就碰到了一个很典型的问题:服务端页面正常,Agent 安装过程也没有报错,但刷新哪吒面板以后,被监控服务器始终没有出现。真正开始排查以后才发现,问题并不在安装脚本本身,而是 Agent 与服务端之间的 TLS 配置没有匹配。调整对应启动参数以后,节点才正常上线,CPU、内存、磁盘、网络和在线状态也开始持续回传。
这篇文章就从这套实际部署过程展开:先安装哪吒 Dashboard,再分别给 Linux、Windows 等设备添加 Agent,把原本需要逐台 SSH 查看状态的服务器集中到同一个页面里;随后继续配置钉钉机器人和 CPU、内存、磁盘、离线等告警规则,让监控从“能看见”进一步变成“异常时主动提醒”。
最后,如果 Dashboard 本身运行在局域网环境中,还会通过 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系统:
sudo yum install unzip # CentOS 7 及以下版本
sudo dnf install unzip # CentOS 8 及以上版本
Ubuntu或Debian系统:
sudo apt update
sudo apt install unzip

2.2 开始安装
在安装服务端的服务器上,运行下面的安装脚本:
curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.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 参数
通知配置:
- 名称:哪吒探针小跟班
- 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步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl 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、内存曲线放进网页,而是把原本分散在不同服务器上的状态集中到一个入口里。
这次从 Dashboard 部署、Agent 接入一直做到钉钉告警,中间最值得记录的反而是 Agent 无法上线这个问题。安装命令执行成功,并不能说明通信一定正常;服务端地址、TLS 状态和 Agent 参数仍然需要保持一致。遇到节点离线时,先确认连接配置,比反复重新安装更有效。
监控正常以后,CPU、内存、磁盘和离线状态都可以继续配置规则,再通过通知组把异常发送到钉钉。这样服务器出问题以后,不必等到主动打开面板或者有人反馈才知道。
如果 Dashboard 部署在内网,通过 cpolar 增加远程入口后,还可以在外部网络继续查看状态。不过监控后台本身包含服务器信息、告警配置,部分版本还提供远程终端等管理能力,因此公网访问时更应该重视账号密码和访问权限。
对于手里只有几台 VPS、NAS 或测试服务器的人来说,哪吒面板的意义并不是搭建一套复杂的企业监控体系,而是先把“逐台登录检查”,变成“集中查看,并在异常时收到提醒”。
网硕互联帮助中心







评论前必须登录!
注册