简介
开源、轻量、易用的服务器监控、运维工具
官网文档:https://nezha.wiki/
优点
- 一键安装
支持一键脚本安装面板和监控服务,轻松使用;Linux、Windows、MacOS、OpenWRT等主流系统均受支持
- 实时监控
支持同时监控多个服务器的系统状态,支持监控网页、端口、SSL证书状态;支持故障、流量等状态报警,支持多种通知方式(Telegram、邮件、微信等)
- 轻松运维
支持WebSSH,支持流量循环监控,支持设置定时任务、服务器批量执行任务
准备
- GitHub账户
TIP
如果您位于中国大陆,访问 Github 有困难,我们建议您选择 Jihulab 作为 OAuth 提供商
- 一台可以连接公网的 VPS,防火墙和安全策略需要放行 8008 和 5555 端口,否则会无法访问和无法接收数据。单核 512MB 内存的服务器配置就足以满足大多数使用场景
- 一个已经设置好 A 记录,指向 Dashboard 服务器 ip 的域名
TIP
如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信
搭建
获取 Github/Jihulab 的 Client ID 和密钥
哪吒监控接入 Github、Gitlab、Jihulab、Gitee 作为后台管理员账号
●首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App” Application name - 随意填写 Homepage URL - 填写面板的访问域名,如:"http://cdn.example.com" Authorization callback URL - 填写回调地址,如:"http://cdn.example.com/oauth2/callback"
●点击 “Register application”
●保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存
●JihuLab 的应用创建入口为:https://jihulab.com/-/profile/applications
●Redirect URL 中应填入回调地址
●在下方范围中勾选 read_user 和 read_api
●创建完成后,保存好应用程序 ID 和密码
在服务器中安装 Dashboard
在面板服务器中,运行安装脚本:
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的面板服务器位于中国大陆,可以使用镜像:
curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
等待Docker安装完毕后,分别输入以下值: OAuth提供商 - Github,Gitlab,Jihulab,Gitee 中选择一个 Client ID - 之前保存的 Client ID Client Secret - 之前保存的密钥 用户名 - OAuth 提供商中的用户名 站点标题 - 自定义站点标题 访问端口 - 公开访问端口,可自定义,默认 8008 Agent的通信端口 - Agent与Dashboard的通信端口,默认 5555
●输入完成后,等待拉取镜像 安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板
●将来如果需要再次运行脚本,可以运行:
./nezha.sh
来打开管理脚本
配置反向代理
在宝塔面板中新建一个站点,域名填写公开访问域名,如 “http://cdn.example.com“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”
设置ssl
自定义一个代理名称,在下方“目标 URL”中填入 http://127.0.0.1:8008 然后点击“保存”
打开刚刚新建的反向代理右边的“配置文件”,将配置文件替换为以下内容:
#PROXY-START/
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$ {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
}
#PROXY-END/
点击“保存”
现在,你应该可以直接使用域名,如:“http://cdn.example.com“ 来访问面板了
管理面板配置
主机
介绍
主机区域负责管理Agent,是哪吒探针中最基础的区域,也是其他功能的基础。
添加服务器
第一步是添加主机,可以自定义名称、分组、排序和备注。
拥有相同分组的主机会在受支持的主题中划分到一起进行显示,备注仅会在后台显示,无需担心泄露信息。
安装Agent
推荐使用一键安装,即配置好参数后,点击主机一键安装列上的按钮,复制到相应主机进行安装。
在被控服务器中,运行脚本(位于中国大陆的服务器请使用镜像):
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的被控服务器位于中国大陆,可以使用镜像:
curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
- 选择“安装监控 Agent”
- 输入通信域名,如:”data.example.com“
- 输入面板通信端口(RPC端口),默认为 5555
- 输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“主机”页中找到
- 等待安装完成后返回 Dashboard 主页查看服务器是否上线
服务
服务区域是设置 Agent 监控外部网站或服务器的功能设置区
设置好的服务监控可以在主页中的 “服务” 页查看监控结果
使用方法
如需新增一个监控,可以进入管理面板中的 “服务” 页,点击“添加监控”
新增一个服务监控,你需要设置以下参数:
- 名称 - 自定义一个名称
- 类型 - 选择一个监控类型,目前哪吒监控支持三种监控类型,分别是 “HTTP-GET”、“ICMP-Ping” 和 “TCP-Ping”
- 目标 - 根据你选择的类型不同,目标的设置方法也不同
- HTTP-GET: 选择此类型,你应该输入一个URL作为目标,URL需添加 http:// 或 https://
- 如果你的目标URL是 https:// ,将会同时监控该URL的SSL证书,当SSL证书到期或发生变更,会触发提醒
例如: https://example.com - ICMP-Ping: 选择此类型时,你应该输入一个域名或IP,不含端口号
例如:1.1.1.1 或 example.com - TCP-Ping: 选择此类型时,你应该输入一个域名或IP并包含端口号
例如:1.1.1.1:80 或 example.com:22 - 请求间隔: 设定 Agent 每次请求目标的时间间隔,以秒为单位
- 覆盖范围: 选择一条规则来确定要使用哪些 Agent 来请求目标
- 特定服务器: 配合覆盖范围使用,选择规则内需要排除的 Agent
- 通知方式组: 选择你已经在 “报警” 页设置好的通知方式,点击这里了解详情
- 启用故障通知: 根据需要选择是否接收目标故障通知,默认为不勾选
设置完成后,点击 “添加” 即可
稍等片刻前往主页的 “服务” 页,查看监控结果
参与讨论