大家好,我是小明同学。
你是否也曾担心:
服务器突然宕机,数据丢失?
网站访问速度变慢,影响用户体验?
对服务器状态一无所知,无法及时处理问题?
现在,有了 哪吒监控,这些问题统统可以解决! 哪吒监控是一款开源、轻量、易用的服务器监控工具,可以帮助你实时了解服务器状态,及时发现并解决问题。
项目地址:https://github.com/naiba/nezha

哪吒监控是一款开源的服务器监控面板,它可以监控服务器的 CPU、内存、硬盘、网络等各项指标,并提供实时图表和告警功能。
哪吒监控的核心特点是:
开源免费: 任何人都可以免费使用和贡献。
轻量易用: 占用资源少,部署简单,操作方便。
功能强大: 支持多种监控指标、告警方式、自定义面板等。
跨平台支持: 支持 Linux、Windows、macOS 等多种操作系统。
服务器是互联网服务的基石,其稳定运行至关重要。然而,服务器在运行过程中难免会遇到各种问题,例如:
资源瓶颈: CPU 占用过高、内存不足、硬盘空间不足等。
网络异常: 网络延迟、丢包、连接超时等。
服务故障: 服务崩溃、进程退出等。
哪吒监控的部署非常简单,这里以 Docker 部署为例:
搭建哪吒监控的 Dashboard,你需要:
1.一台可以连接公网的服务器。防火墙和安全策略需放行 8008 端口,否则无法访问或接收数据。单核 512MB 内存的服务器即可满足大多数使用场景。
2.一个已设置好 A 记录,指向 Dashboard 服务器 IP 的域名。
如果你想使用 CDN,请准备两个域名:
一个配置好 CDN,用作公开访问,CDN 需支持 WebSocket 协议;
另一个域名不使用 CDN,用作 Agent 与 Dashboard 的通信。
尽管 V1 版本不再区分访问端口和通信端口,但由于不同厂商的 CDN 配置可能导致通信异常,仅建议按上述方式准备域名(非强制要求)。
我已经在cloudflare配置好了,关掉小黄云就是不是用CDN。

1.安装 Docker: 确保你的服务器上已经安装了 Docker和Docker Compose。
参考我之前的文章一步到位!Docker全家桶一键安装,省时省力,马上上手 原创
2. 在服务器中安装 Dashboard。
在面板服务器中,运行以下安装脚本:
curl-L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh &&chmod +x nezha.sh &&sudo ./nezha.sh 如果你的服务器位于中国大陆,可以使用镜像:
curl-L https://gitee.com/naibahq/scripts/raw/main/install.sh -o nezha.sh &&chmod +x nezha.sh &&sudoCN=true ./nezha.sh 以 Docker 安装为例,安装完成后按提示输入以下信息:
请输入站点标题: - 自定义站点标题。
请输入暴露端口: - 公开访问端口(默认 8008,可自定义)。
请指定安装命令中预设的 nezha-agent 连接地址。:
是否希望通过 TLS 连接 Agent。
请指定后台语言: - 选择语言偏好。

3.访问 Web 界面: 在浏览器中输入 http://your_server_ip:8008 访问哪吒监控的 Web 界面。

首次登录的默认用户名和密码均为 。

建议安装后立即进入管理页面:点击头像 → “个人信息” → “更新个人资料”修改密码。


4.配置反向代理
Nginx 配置示例
以下是使用 Nginx 配置反向代理的示例:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# http2 on; # Nginx > 1.25.1,请注释上面两行,启用此行
server_name dashboard.example.com; # 替换为你的域名
ssl_certificate /data/letsencrypt/fullchain.pem; # 域名证书路径
ssl_certificate_key /data/letsencrypt/key.pem; # 域名私钥路径
ssl_stapling on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m; # 如果与其他配置冲突,请注释此项
ssl_protocols TLSv1.2 TLSv1.3;
underscores_in_headers on;
set_real_ip_from 0.0.0.0/0; # 替换为你的 CDN 回源 IP 地址段
real_ip_header CF-Connecting-IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# 如果你使用nginx作为最外层,把上面两行注释掉
# grpc 相关
location ^~ /proto.NezhaService/ {
grpc_set_header Host $host;
grpc_set_header nz-realip $http_CF_Connecting_IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# grpc_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
grpc_read_timeout 600s;
grpc_send_timeout 600s;
grpc_socket_keepalive on;
client_max_body_size 10m;
grpc_buffer_size 4m;
grpc_pass grpc://dashboard;
}
# websocket 相关
location ~* ^/api/v1/ws/(server|terminal|file)(.*)$ {
proxy_set_header Host $host;
proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
proxy_set_header Origin https://$host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_pass http://127.0.0.1:8008;
}
# web
location / {
proxy_set_header Host $host;
proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 0;
# proxy_set_header X-Forwarded-Proto $scheme; # 如果你使用nginx作为最外层,就启用此行避免无法正确读取访问的协议
proxy_pass http://127.0.0.1:8008;
}
}
upstream dashboard {
server 127.0.0.1:8008;
keepalive 512;
} Caddy 配置示例
以下是使用 Caddy 配置反向代理的示例:
dashboard.example.com {
@grpcProto {
path /proto.NezhaService/*
}
reverse_proxy @grpcProto {
header_up Host {host}
header_up nz-realip {http.CF-Connecting-IP} # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# header_up nz-realip {remote_host} # 如果你使用caddy作为最外层,就把上面一行注释掉,启用此行
transport http {
versions h2c
read_buffer 4096
}
to localhost:8008
}
reverse_proxy {
header_up Host {host}
header_up Origin https://{host}
header_up nz-realip {http.CF-Connecting-IP} # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
# header_up nz-realip {remote_host} # 如果你使用caddy作为最外层,就把上面一行注释掉,启用此行
transport http {
read_buffer 16384
}
to localhost:8008
}
} 配置注意事项
1.调整 Header 根据您使用的 CDN 服务商,替换 CF-Connecting-IP 和相关配置为您的 CDN 提供的私有 header。
2.HTTPS 配置 确保 SSL 证书路径正确,并已正确配置域名解析。
3.负载调整 根据服务器性能和访问需求,可调整 keepalive 和 buffer 设置。
1.服务器 进入管理面板,服务器页面中点击图标

复制生成的安装命令并在对应服务器上运行完成安装。

服务器页面展示

前台页面展示

2.服务 进入管理面板, 转到 服务 页,点击 + 按钮添加新的服务监控。

名称:为此服务自定义一个名称。
目标:根据监控类型设置目标:
HTTP GET:输入完整 URL(需包含 http:// 或 https://),例如:https://example.com。 注意:如果目标 URL 使用 https://,哪吒监控将同时监控该 URL 的 SSL 证书(如证书到期或变更将触发通知)。
ICMP Ping:输入域名或 IP 地址(不含端口号),例如:1.1.1.1 或 example.com。
TCPing:输入域名或 IP 地址并添加端口号,例如:1.1.1.1:80 或 example.com:22。
类型:选择监控类型(HTTP GET、ICMP Ping 或 TCPing)。
服务中显示:选择是否向游客显示此监控(隐私性选项)。
间隔:设置监控间隔时间(单位:秒)。
覆盖范围:选择一条规则来确定哪些 Agent 请求目标。
特定服务器:指定覆盖范围内需要使用的 Agent。
通知组 ID:选择已在 通知 页中配置的通知方式,详见 通知方式配置。
启用失败通知:可选择在目标故障时接收通知(默认为不启用)。

服务页面展示

前台页面展示(需要开启服务中显示)

3.任务 进入任务页面,在管理面板中进入 任务 页,点击 + 按钮新增任务

添加任务时需要配置以下参数:
名称:为任务自定义一个名称,便于管理和识别。
任务类型:
计划任务:按设置的计划时间周期性执行任务。
触发任务:任务仅通过 API 或通知规则触发,每次触发执行一次。
计划:任务执行的时间计划(仅计划任务生效),格式为:秒 分 时 天 月 星期。 详情参考 计划表达式格式。 示例:0 0 3 * * * 表示每天凌晨 3 点执行。
命令:需要执行的命令。
命令格式与 Shell/Bat 脚本相同,多个命令可用 &&(Linux)或 &(Windows)连接。
示例:重启服务器输入 reboot。
覆盖范围 和 特定服务器:指定哪些 Agent 执行任务:
可选择规则覆盖范围或特定服务器。
对于触发任务,可选择“在触发通知的服务器上执行”。
通知方式组:选择已在 通知 页配置的通知方式,详见 通知方式配置

任务页面展示

4.通知 进入任务页面,在管理面板中进入 通知 页,点击 + 按钮新增通知方式

Server 酱示例
简单示例:
名称:Server 酱
URL:https://sc.ftqq.com/SCUrandomkeys.send?title=哪吒通知信息&desp=#NEZHA#
请求方式:GET
请求类型:默认
Body:空
进阶示例:
名称:Server 酱
URL:https://sc.ftqq.com/SCUrandomkeys.send
请求方式:POST
请求类型:FORM
Body:
{
"title": "#SERVER.NAME#",
"desp": "**#NEZHA#\n\n平均负载: \"#SERVER.LOAD1#\",\"#SERVER.LOAD5#\",\"#SERVER.LOAD15#\"\n\n## [点击访问面板](https://你的面板域名)\n\n"
}

通知效果预览:

后面的功能请查看官方文档,这里就不详细说明了 官方文档:https://nezha.wiki/
个人开发者: 监控自己的服务器,保障个人网站或应用的稳定运行。
小型团队: 监控团队的服务器,及时发现并解决问题。
运维人员: 实时掌握服务器的运行状态,保障系统稳定运行。
所有需要监控服务器的人: 简单易用,功能强大,满足各种监控需求。
哪吒监控 是一款开源、轻量、易用的服务器监控工具,它可以帮助你实时掌握服务器的运行状态,及时发现并解决问题,让你的服务稳如泰山。如果你正在寻找一款优秀的服务器监控工具,那么哪吒监控绝对值得你尝试!
立即行动,在你的 服务器上部署哪吒监控,告别服务器宕机焦虑!
好了,以上就是今天给大家分享的内容,我是爱分享的小明同学,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

NAS导航面板进阶:Lucky动态域名反向代理+HTTPS访问 原创
告别信息焦虑!NewsNow:打造你的专属新闻聚合中心 原创
告别简陋!打造高颜值 NAS 导航面板:Sun-Panel 实战教程 原创
在 Obsidian 中高效整合 DeepSeek 的完整指南:Smart Composer 助你笔记起飞! 原创
Obsidian+公众号完美联动,技术文档一键式发布方案 原创
AlgerMusicPlayer:让音乐回归纯粹的开源播放器 原创
it-tools:程序员的瑞士军刀,你的在线工具箱! 原创
三行代码搞定HTTPS!acme.sh保姆级教程,永久免费自动续期! 原创
WeWe RSS:更优雅的微信公众号订阅方式,告别信息焦虑! 原创
连续登顶 GitHub 的信息聚合神器:Follow,让你不再错过任何重要信息! 原创
