好的,我会重新整理并保留文章中的图片。
简介
最近我尝试使用了哪吒探针,发现其搭建和添加机器的过程都非常便捷,相比之前使用的 ServerStatus-Hotaru 更加方便。这篇文章将分享如何搭建哪吒探针的详细教程。
GitHub 项目地址:https://github.com/naiba/nezha
准备工作
开始之前,请确定你用于搭建探针的域名。例如,使用 nz.haovps.top
作为面板的域名,nz.haovps.top
用于记录面板服务器的 IP。
安装监控
新建 OAuth App
- 打开:https://github.com/settings/developers。
- 点击 New OAuth App 按钮。
- 记录下 OAuth Apps 的 Client ID 和 Client secrets。
执行脚本
打开 GitHub 项目地址,现在有一键安装代码,我推荐使用国外的机器搭建哪吒探针:
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
CN=true sudo ./nezha.sh # 国内机
将脚本复制到你的服务器上,按 1 安装,并输入相关信息。
放行端口,解析域名
在你的服务器上开放 8088
和 5555
端口,并解析两个域名到服务器。
新建网站
在宝塔面板中新建一个网站。
设置 SSL
为你的网站设置 SSL。
设置反向代理
在你的 Nginx 配置文件中加入以下代码:
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;
}
登入后台
现在可以输入 tz.llxx.cc
访问后台,登录并设置未接入 CDN 的面板服务器域名/IP。
添加服务器
通过后台界面添加服务器。
复制一键命令
复制一键命令到其他需要被监控的机器上,一键添加,非常方便。
自定义代码
你可以去掉版权、修改 LOGO、添加统计代码等。以下是一些示例代码:
更改进度条颜色
<style>
.ui.fine.progress > .bar {
background-color: pink !important;
}
</style>
修改 LOGO 和移除版权
<style>
.right.menu > a {
visibility: hidden;
}
.footer .is-size-7 {
visibility: hidden;
}
.item img {
visibility: hidden;
}
</style>
<script>
window.onload = function() {
var avatar = document.querySelector(".item img");
var footer = document.querySelector("div.is-size-7");
footer.innerHTML = "Powered by 你的名字";
footer.style.visibility = "visible";
avatar.src = "你的方形 logo 地址";
avatar.style.visibility = "visible";
}
</script>
更改背景图片
<style>
.hotaru-cover {
background: url(https://s3.ax1x.com/2020/12/08/DzHv6A.jpg) center;
}
</style>
报警通知
灵活通知方式
在面板消息中使用占位符 #NEZHA#
,面板触发通知时会自动替换为实际消息。以下是一些通知方式的配置示例:
Server 酱示例
- 备注:server 酱
- URL:https://sc.ftqq.com/SCUrandomkeys.send?text=#NEZHA#
- 请求方式:GET
- 请求类型:默认
- Body:空
Wxpusher 示例
- 备注:wxpusher
- URL:http://wxpusher.zjiecode.com/api/send/message
- 请求方式:POST
- 请求类型:JSON
- Body:
{
"appToken": "你的 appToken",
"topicIds": [应用 topicID],
"content": "#NEZHA#",
"contentType": "1",
"uids": ["你的 uid"]
}
添加报警规则
离线报警
- 备注:离线通知
- 规则:
[{"Type":"offline","Min":0,"Max":0,"Duration":10}]
CPU 和内存报警
- 备注:CPU+内存
- 规则:
[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]
常见问题
数据备份恢复
数据存储在 /opt/nezha
文件夹中,迁移数据时打包这个文件夹,到新环境解压,然后执行一键脚本安装即可。
启用 HTTPS
使用宝塔反代或者上 CDN,建议 Agent 配置和访问管理面板使用不同的域名,这样管理面板的域名可以直接套 CDN,Agent 配置的域名解析管理面板 IP 使用,方便后续管理面板迁移。
实时通道断开 (WebSocket 反代)
使用反向代理时需要对 /ws
路径的 WebSocket 进行特别配置以支持实时更新服务器状态。
Nginx (宝塔):
server {
# server_name blablabla...
location /ws {
proxy_pass http://ip:站点访问端口;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
# 其他 location...
}