准备工作
搭建一个哪吒监控,你需要:
- 一台可以连接公网的 VPS,防火墙和安全策略需要放行 8008 和 5555 端口,否则会无法访问和无法接收数据。单核 512MB 内存的服务器配置就足以满足大多数使用场景
- 一个已经设置好 A 记录,指向 Dashboard 服务器 ip 的域名
如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信
本文档分别以 "cdn.example.com" 和 "data.example.com" 两个域名来演示
- 一个 Github 账号(或:Gitlab、Jihulab、Gitee)
如果您位于中国大陆,访问 Github 有困难,我们建议您选择 Jihulab 作为 OAuth 提供商
本教程以Nginx-Proxy-Manager来配置 SSL 和反代。如果你认为没有必要使用 80、443 端口来访问 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://cdn.jsdelivr.net/gh/naiba/nezha@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
来打开管理脚本
配置反向代理
- 登录Nginx-Proxy-Manager后,依次选择
Hosts
-Proxy Hosts
,点击右上方Add Proxy Hosts
按钮,在弹出的面板中Domain Names项填写域名cdn.example.com并点击Add cdn.example.com
,Scheme选择http
,Forward Hostname / IP填写你的VPS的IP地址。 - 在ADvanced设置中的Custom Nginx Configuration里填写以下内容:
#PROXY-START/
location
/ {
proxy_pass http://VPS的IP:8008;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location
~
^/(ws|terminal/.+)$ {
proxy_pass http://VPS的IP: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/
- 点击“保存”,然后在SSL选项里配置好证书,打开强制HTTPS
现在,你应该可以直接使用域名,如:https://cdn.example.com 来访问面板了
哪吒监控的被控端服务被称为 Agent
一键安装 Agent
目前哪吒监控已支持在 Windows 和 Linux上一键安装 Agent,按照本教程的步骤,你可以很轻松的在服务器上部署它
准备工作
你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以前面提到过的示例通信域名 “data.example.com” 来做演示
进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击"保存"
在 Linux 中一键安装 (Ubuntu、Debian、CentOS)
- 首先在管理面板中添加一台服务器
- 点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令
- 在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线