哪吒监控
开源、轻量、易用的服务器监控与运维工具
官方网站:https://nezha.wiki/
相关文章
轻松上手Nginx Proxy Manager:安装、配置与实战
搭建哪吒监控 V1 配置CDN,并启用 Agent TLS 连接
START
最近,哪吒面板进行了V1版本的更新,页面UI和系统操作逻辑和V0相比有了非常大的变化,
所以写一篇新的教程教大家如何搭建安装。
安装 Dashboard
准备工作
搭建哪吒监控的 Dashboard,你需要:
一台可以连接公网的服务器。防火墙和安全策略需放行 8008 端口,否则无法访问或接收数据。单核 512MB 内存的服务器即可满足大多数使用场景。
一个已设置好 A 记录,指向 Dashboard 服务器 IP 的域名。
如果你想使用 CDN,请准备两个域名:
一个配置好 CDN,用作公开访问,CDN 需支持 WebSocket 协议;
另一个域名不使用 CDN,用作 Agent 与 Dashboard 的通信。
本文档以 “dashboard.example.com” 和 “data.example.com” 为例。
在服务器中安装 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 && sudo CN=true ./nezha.sh
以 Docker 安装为例,安装完成后按提示输入以下信息:
请输入站点标题:
- 自定义站点标题。请输入暴露端口:
- 公开访问端口(默认 8008,可自定义,如果是云服务器记得在安全组开启8008端口)。请指定后台语言:
- 选择语言偏好。
输入完成后,等待拉取 Docker 镜像。安装结束后,如果一切正常,你可以通过域名和端口号访问 Dashboard,例如:http://dashboard.example.com:8008
如果需要再次运行安装脚本,可输入以下命令:
./nezha.sh
打开管理脚本。
登录到 Dashboard 配置界面
后台管理界面的路径为 /dashboard
,你只需访问:http://dashboard.example.com:8008/dashboard
首次登录的默认用户名和密码均为 admin
。
WARNING
默认密码为弱密码,对于高权限的面板来说,使用弱密码非常危险!
建议安装后立即进入管理页面:点击头像 → “个人信息” → “更新个人资料”修改密码。
建议密码长度至少 18 位,并混合大小写字母、数字及符号。
配置反向代理
本教程以1panel配置反向代理 Dashboard 的过程作为示范。
WARNING
本项目并不依赖1panel面板。你可以使用任何服务器面板,或手动安装 Nginx 或 Caddy 来配置 SSL 和反向代理。
如果你认为无需通过 80 或 443 端口访问 Dashboard,可以直接使用安装脚本部署并运行哪吒监控,无需安装 Nginx 或其他 Web 服务器。
以1panel面板为例,在1panel面板中新建网站,选择反向代理,主域名填写公开访问域名,如 http://dashboard.example.com
,然后填写“代理地址”。
在“代理地址”中填入:http://127.0.0.1:8008
点击“确定”。
现在,你可以直接通过域名访问面板,例如:http://dashboard.example.com
更新 Dashboard
运行脚本:
./nezha.sh
选择重启面板并更新。
安装 Agent
哪吒监控的被控端服务被称为 Agent
Agent 二进制文件仓库地址为:https://github.com/nezhahq/agent/releases
一键安装 Agent
哪吒监控支持在 Windows、macOS 和 Linux 上一键安装 Agent。遵循本文档的步骤,你可以轻松地在服务器上部署它。
准备工作
在安装前,需要提前在管理面板中设置通信域名,该域名不可以接入 CDN。本文档以示例通信域名 “data.example.com” 为例。
在后台管理面板点击头像,进入“系统设置”页。
在“仪表板服务器域名/IP(无 CDN)”项中填入通信域名。
点击“确认”保存设置。
一键安装步骤
在
服务器
页面中,点击安装命令
并选择对应操作系统,安装命令将自动复制到你的剪贴板。在被控端服务器中运行安装命令,等待安装完成后返回到
服务器
页面查看是否上线。如果安装成功,页面中将自动弹出新的服务器,你可以点击编辑按钮为其设置名称。
平台特有问题说明
1.不小心多执行了几次,多了好多一样的Agent怎么办?
如果有多个 nezha-agent
服务实例,你可以运行以下命令来查看所有相关服务并停止它们:
sudo systemctl list-units --type=service | grep nezha-agent
然后,针对每个服务运行:
sudo systemctl stop <service-name>
最后,删除/opt/nezha/agent/nezha-agent/xxx-config.yml 文件
2.Windows 特殊说明
在 Windows 服务器中,运行 PowerShell。
在 PowerShell 中粘贴并运行安装命令(复制命令后修改并按下面方法执行)。
如遇到「执行策略变更」确认提示,输入
Y
并回车。
#分别执行
$env:NZ_SERVER="xxxx:8008" #记得加""
$env:NZ_TLS="false"
$env:NZ_CLIENT_SECRET="xxxx"
#然后执行
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12;set-ExecutionPolicy RemoteSigned;Invoke-WebRequest https://raw.githubusercontent.com/nezhahq/scripts/main/agent/install.ps1 -OutFile C:install.ps1;powershell.exe C:install.ps1
3.Agent 有 Docker 镜像吗?
Agent 目前没有推出 Docker 镜像。
Agent 的设计思路和 Dashboard 相反:Dashboard 的目标是尽量减少对宿主机的干扰,而 Agent 则需要深度与宿主机集成以执行监控服务和命令任务。
虽然将 Agent 放入容器中可以继续执行监控任务,但 WebShell 等功能将无法正常运行,因此官方不提供 Docker 镜像支持。
设置三网监控
要新增一个网络波动监控,请按照以下步骤操作:
进入管理面板
转到服务
页,点击+
按钮添加新的服务监控。配置参数
在新增监控时,设置以下参数:名称:为此服务自定义一个名称。
目标
TCP Ping
:输入运营商 IP 地址/域名并添加端口号,例如:1.1.1.1:80
或example.com:22
。
类型:选择监控类型(
TCP Ping
)。服务中显示:选择是否向游客显示此监控(隐私性选项)。
间隔:设置监控间隔时间(单位:秒)。
覆盖范围:选择一条规则来确定哪些 Agent 请求目标。
特定服务器:指定覆盖范围内需要使用的 Agent。
通知组 ID:选择已在
通知
页中配置的通知方式,详见 通知方式配置。启用失败通知:可选择在目标故障时接收通知(默认为不启用)。
提交监控
点击提交
按钮保存配置,稍等片刻后返回主页查看监控结果。
效果:
全国三网IP地址
河北
山西
辽宁
吉林
黑龙江
江苏
浙江
安徽
福建
江西
山东
河南
湖北
湖南
广东
海南
四川
贵州
云南
陕西
甘肃
青海
内蒙古
广西
西藏
宁夏
新疆
北京
天津
上海
重庆
通知设置
哪吒监控支持对服务器的负载、CPU、内存、硬盘、流量、月流量、进程数和连接数进行监控,并在达到用户设定的阈值时发送通知。
1.先设置一个通知方式
我这里是用飞书
获取 URL 参数
创建机器人:在飞书群设置中添加自定义机器人(Webhook)。
获取 Webhook URL:创建完成后获得。
通知配置:
名称:哪吒面板 Bot
URL:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx
请求方式:
POST
请求类型:
JSON
Body:
{
"msg_type": "text",
"content": {
"text": "【哪吒通知消息】\n🕐 时间:\n#DATETIME#\n📋 事件:\n#NEZHA#"
}
}
更多通知方式:
https://nezha.wiki/guide/notifications.html
如果对通知配置有疑问,可以使用以下第三方配置生成器简化操作(哪吒监控不对第三方生成器的功能性作任何保证):
Nezha Rule Generator:适用于大多数场景。
Nezha-Traffic-Alarm-Generator:专注于周期流量通知规则生成。
2.设置告警
https://nezha.wiki/guide/notifications.html#%E8%AD%A6%E6%8A%A5%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E
3.设置通知分组
通知分组允许用户将多个通知方式组合成一个通知组,通知组可用作任务或告警的通知目标,实现一键发送多种方式的通知。
配置步骤
1.点击“分组”-“通知分组”
2.选择你要已经设置好的通知方式。
4.应用通知组
在任务或告警规则中选择通知组作为通知目标,触发时会同时通过分组内的所有通知方式发送通知。
END
好了,这样基本就安装好了。其他内容可以看官方文档
DEMO:https://status.79702701.xyz/
参考内容:https://muzihuaner.github.io/2024/12/01/%E5%93%AA%E5%90%92%E9%9D%A2%E6%9D%BF%E6%96%B0%E7%89%88%E6%9C%ACv1%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/