多台服务器怎么统一监控?哪吒面板部署、钉钉告警与远程访问教程

前言

只管理一台服务器时,偶尔通过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系统:

shell 复制代码
sudo yum install unzip      # CentOS 7 及以下版本
sudo dnf install unzip      # CentOS 8 及以上版本

Ubuntu或Debian系统:

shell 复制代码
sudo apt update
sudo apt install unzip

2.2 开始安装

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

shell 复制代码
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章教程后来配置

点击编辑按钮:

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

shell 复制代码
{
  "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

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

shell 复制代码
NZ_TLS="true"

改为:

shell 复制代码
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%就告警:

shell 复制代码
[{"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步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

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

shell 复制代码
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、内存、磁盘、网络流量和在线状态,也可以根据不同设备补充名称、备注和相关信息。

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

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

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

相关推荐
阿标在干嘛1 小时前
政策快报平台日志系统的3次演进:从文件到ELK到告警
运维·elk·jenkins
味悲1 小时前
Apache HTTP 服务器配置
服务器·http·apache
啦啦啦啦啦zzzz1 小时前
oat++框架应用之do、dao、service
服务器·c++·mysql·oatpp
云计算磊哥@2 小时前
运维开发宝典059-大型网站nginx服务器管理全集5
服务器·nginx·运维开发
Inhand陈工2 小时前
路由器专题二:有线为主,蜂窝备份——映翰通路由器链路备份功能详解
运维·网络·物联网·智能路由器·系统安全
腾科IT教育10 小时前
Oracle认证怎么选?2026年OCP/OCM报考指南
linux·运维·华为认证·hcie·开闭原则·datacom
幸福指北11 小时前
🚀 开源了,一个人 + AI 肝出一个 AI 终端 | AShell 技术分享
运维·人工智能·ai·终端
肥胖小羊12 小时前
微信社群自动化管理与防骚扰系统的设计与实现
运维·自动化
AI办公探索者13 小时前
仓储物流AI任务执行的技术拆解:从WMS自动化到多设备协同的落地路径
运维·人工智能·ai·自动化