哪吒探针
项目地址
https://github.com/naiba/nezha
中文文档
实例
厚着脸皮贴一下自己的——一根针

搭建
安装宝塔面板
因为需要反代,宝塔面板操作比较简单,所以我们需要安装一下。这里不再详细说明如何安装,请看之前写的文章→→→点我
解析域名
若想使用CDN,最好准备两个域名!
一个用于访问探针面板(可以套CDN,防止真实ip泄露,CDN需要支持WebSocket协议),一个用于面板与被监控服务器之间的通信(不能套CDN)
举例:
a.xxx.com用于访问面板,那么就在dns中添加A记录,指向你想用来搭建探针面板的服务器IP
b.xxx.com用于通信,操作同上
创建Oauth2应用,提供授权服务
这里我们使用Github作为后台管理员登录的授权验证!
- 首先新建一个验证应用,登录Github后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” – “New OAuth App”
- Application name – 随意填写
- Homepage URL – 填写面板的访问域名,如:”https://a.xxx.com“
- Authorization callback URL – 填写回调地址,如:”https://a.xxx.com/oauth2/callback“
- 点击“Register application”
- 保存页面中的Client ID,然后点击 “Generate a new client secret“,创建一个新的Client Secret,新建的密钥仅会显示一次,所以请及时、妥善保存!(client id和client secret都要保存)
安装哪吒面板
国外服务器
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://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh

选择1,安装面板端
- 配置参数:
- GitHub用户名;
- Client ID和Client secrets;
- 面板端口支持自定义,默认为8008;
- 标题随意,支持中文;
- 服务器之间的通信端口支持自定义,默认5555

反代哪吒面板
不反代的话只能通过ip+端口的形式访问,所以这里我们使用宝塔面板来配置一下反代
添加站点


配置站点的ssl证书

这里配置ssl证书,就不再赘述了,不会的自己百度搜索吧~

添加反向代理
添加一个反向代理。代理名称随便填写,最好是英文;目标URL就是http://127.0.0.1:端口号,端口号就是你原本设置的面板访问端口,记得去服务器防火墙放行该端口!

配置反向代理


location /
{
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $host;
}
location /ws
{
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 $host;
}
location /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 $host;
}
安装被控端
顾名思义就是就是在被监控的服务器上安装服务。
添加服务器
在安装被控端之前,需要在已经搭建好的面板中添加被控服务器。
使用Github账号来授权登录面板


保存生成的秘钥,在后面的操作中需要用到!

安装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://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
运行安装命令之后,选择8
- 配置参数:
- 通信域名:不能套用cdn,如 b.xxx.com
- RPC端口:面板所在服务器获取被监控服务器信息的端口,支持自定义,默认为5555,防火墙记得放行!
- Agent秘钥:之前在面板添加服务器之后生成的秘钥

配置完成后,小鸡应该已经上线了!


Windows安装哪吒探针客户端
准备工作
设置环境变量
将先前下载好的nssm压缩包解压,进入到nssm.exe的路径,然后复制该路径,这里是 C:\nssm\win64

将nssn的路径添加到系统变量中

配置nssn
以管理员身份打开命令窗口。可以在桌面上按住shift键,然后点击鼠标右键,选择以管理员身份打开。

在命令窗口中输入命令,创建一个服务。
<servername> 服务的名称,随便起
如:nssm install tanzhen
nssm install <servername>
上一步成功后会弹出一个窗口,继续设置。
Arguments的参数:-i {AgentID} -s {Serverip}:{Port} -p {AgentKey} -d
Serverip:哪吒探针服务端IP
AgentId,AgentKey:图示AgentID为6,AgentKey为60f9aeb04d15ad685c
示例:-i 2 -s {你自己的IP}:{默认是5555} -p 52a1c9abbe -d
正确示例:-i 2 -s 1.2.3.4:5555 -p 52a1c9abbe -d
参数都配置好之后,点击install server,会显示安装成功的提示


启动服务
命令窗口界面输入nssm start tanzhen,启动成功会有提示,启动失败请检查配置是否正确。
这个时候你的Windows小鸡也应该已经上线了~
至此,Windows系统的被监控端就搭建完成。
附•Nssm操作命令
| 操作 | 命令 |
|---|---|
| 安装服务命令 | nssm install [] |
| 删除服务命令 | nssm remove |
| nssm remove confirm | |
| 启动、停止命令 | nssm start |
| nssm stop | |
| nssm restart | |
| 查询服务状态 | nssm status |
| 服务控制命令 | nssm pause |
| nssm continue | |
| nssm rotate |
配置面板
配置通知方式
自己看文档吧,又不难,作者也给了示例的。
https://nezhahq.github.io/guide/notifications.html


有两个无忧的大佬。
服务器有的离线有的正常,搞了好久才发现是连接的域名套了CDN