编辑
2026-01-20
技术漫谈
00
请注意,本文编写于 40 天前,最后修改于 28 天前,其中某些信息可能已经过时。

目录

前言
第一步:服务端部署(Dashboard)
1. 准备工作:配置 GitHub OAuth(关键!)
2. 一键脚本安装
3. 填写配置信息
第二步:Windows 客户端接入(重难点)
✅ 修正版:Windows 一键安装命令
第三步:常见问题与优化
1. 为什么要修改安装命令?
2. 如何开启显卡 (GPU) 监控?
3. 为什么看不到 NAS 映射的硬盘(Z盘)?
总结

Gemini_Generated_Image_2vw97x2vw97x2vw9.png

前言

随着手里的设备越来越多——家里的飞牛 NAS、极空间、公司的 Windows 办公机、以及为了内网穿透买的云服务器——想要一眼掌握所有机器的运行状态(CPU、内存、硬盘、掉线提醒)变得越来越困难。

这两天折腾了很久,终于部署好了 哪吒监控 (Nezha Monitoring)。这就好比给所有服务器装了一个“体检中心”。

但在部署过程中,特别是 服务端配置Windows 客户端安装 上,遇到了不少网络和配置的大坑。这篇文章将把完整的部署流程和避坑细节记录下来,帮大家节省时间。


第一步:服务端部署(Dashboard)

服务端是监控的“大脑”,需要部署在一台拥有公网 IP 的服务器上(推荐 Linux 系统,如 Ubuntu/Debian)。

1. 准备工作:配置 GitHub OAuth(关键!)

哪吒监控推荐使用 GitHub 账号登录,安全且方便。在安装前,我们需要先去 GitHub 申请一个授权。

  1. 登录 GitHub,点击右上角头像 -> Settings -> 左侧最下方 Developer settings -> OAuth Apps -> New OAuth App
  2. Application Name:随便填,比如 My Nezha
  3. Homepage URL:填你面板的访问地址,例如 http://39.107.xx.xx:8008 (如果是 IP) 或 https://你的域名
  4. Authorization callback URL这是重点! 必须填 面板地址 + /oauth2/callback
  • 例如:http://39.107.xx.xx:8008/oauth2/callback
  1. 创建后,你会得到 Client IDClient Secret(保存好,马上要用)。

2. 一键脚本安装

SSH 连接到你的云服务器,执行官方安装脚本:

bash
curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/install.sh -o nezhahq.sh && chmod +x nezhahq.sh && ./nezhahq.sh

3. 填写配置信息

脚本运行后,选择 1. 安装面板端

  • GitHub 登录配置:输入刚才获取的 Client IDClient Secret
  • 端口设置
  • 面板访问端口:默认为 8008
  • Agent 通信端口:默认为 5555记得在阿里云/腾讯云防火墙放行这连个端口!)。

安装完成后,访问 http://你的IP:8008,用 GitHub 登录即可进入后台。


第二步:Windows 客户端接入(重难点)

在 Linux(如 NAS)上安装客户端非常简单,直接在后台复制命令运行即可。但 Windows 端 如果直接照抄官方命令,在国内网络环境下大概率会失败。

这里有两个巨坑:

  1. GitHub 原生链接连不上:官方脚本在 raw.githubusercontent.com,国内无法访问。
  2. TLS 配置错误:如果是通过 IP 直连(没有域名/证书),开启 TLS 会导致无限离线。

✅ 修正版:Windows 一键安装命令

请在 Windows 电脑上,以管理员身份打开 PowerShell,修改下方命令的前三行(IP 和 密钥),然后执行:

powershell
# ================= 配置区域 ================= # 1. 设置面板地址(注意:如果是 IP 直连,填写 IP:端口) $env:NZ_SERVER="39.107.245.108:2000"; # 2. 关键点:关闭 TLS(IP 直连必须填 false,否则无法上线!) $env:NZ_TLS="false"; # 3. 设置连接密钥(在面板后台“添加服务器”时获取) $env:NZ_CLIENT_SECRET="这里填你的密钥nnLOdjc..."; # ================= 执行区域 ================= # 下方命令已替换为 jsDelivr 加速源,解决国内无法下载的问题 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12; set-ExecutionPolicy RemoteSigned; Invoke-WebRequest https://fastly.jsdelivr.net/gh/nezhahq/scripts@main/agent/install.ps1 -OutFile C:\install.ps1; powershell.exe C:\install.ps1

执行完毕后,等待约 10-30 秒,去网页后台刷新,应该就能看到这台 Windows 变为“在线”状态了。


第三步:常见问题与优化

1. 为什么要修改安装命令?

  • 关于下载源:原命令使用 GitHub 直链,国内下载速度极慢甚至超时。我将其替换为了 fastly.jsdelivr.net CDN 加速链接,确保秒下载。
  • 关于 TLS:官方教程默认有时会开启 TLS,这要求服务端绑定域名并配置 SSL 证书。对于大多数普通用户(直接用 IP+端口访问),必须强制设置 NZ_TLS="false",否则握手失败。

2. 如何开启显卡 (GPU) 监控?

默认情况下,Agent 不监控显卡。如果你想看 Windows 主机的显卡温度:

  • 打开配置文件:C:\nezha\config.yml
  • 修改:gpu: false -> gpu: true
  • 重启服务:在 PowerShell 执行 Restart-Service nezha-agent

3. 为什么看不到 NAS 映射的硬盘(Z盘)?

哪吒 Agent 默认以“系统服务账户”运行,没权限读取用户挂载的网络盘。

  • 解决:打开 Windows 服务管理器 -> 找到 nezha-agent -> 右键属性 -> 登录 -> 改为“此账户” -> 填入你的 Windows 用户名和密码 -> 重启服务。

总结

哪吒监控是一套非常强大的工具,虽然部署过程中涉及到了 OAuth、端口映射、PowerShell 脚本等知识点,但只要跨过了“网络连接”和“TLS 配置”这两个坑,后面的体验是非常爽快的。

现在,无论是打开手机还是电脑,一眼就能看到所有设备的运行状态,对于“设备管理强迫症”来说,绝对值得折腾!

本文作者:小转圈

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!