好的,我会重新整理并保留文章中的图片。


简介

最近我尝试使用了哪吒探针,发现其搭建和添加机器的过程都非常便捷,相比之前使用的 ServerStatus-Hotaru 更加方便。这篇文章将分享如何搭建哪吒探针的详细教程。

GitHub 项目地址https://github.com/naiba/nezha

准备工作

  1. GitHub 账户
  2. 宝塔面板
  3. 一个域名

开始之前,请确定你用于搭建探针的域名。例如,使用 nz.haovps.top 作为面板的域名,nz.haovps.top 用于记录面板服务器的 IP。

安装监控

新建 OAuth App

  1. 打开:https://github.com/settings/developers
  2. 点击 New OAuth App 按钮。
  3. 记录下 OAuth Apps 的 Client ID 和 Client secrets。

OAuth App
Client ID and 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 安装,并输入相关信息。

安装脚本

放行端口,解析域名

在你的服务器上开放 80885555 端口,并解析两个域名到服务器。

新建网站

在宝塔面板中新建一个网站。

新建网站

设置 SSL

为你的网站设置 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 酱示例

Wxpusher 示例

{
    "appToken": "你的 appToken",
    "topicIds": [应用 topicID],
    "content": "#NEZHA#",
    "contentType": "1",
    "uids": ["你的 uid"]
}

添加报警规则

  1. 离线报警

    • 备注:离线通知
    • 规则:
[{"Type":"offline","Min":0,"Max":0,"Duration":10}]
  1. 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...
}
END
本文作者:
文章标题: 哪吒探针搭建与配置教程—服务器状态监控
本文地址: https://www.haovps.top/archives/172.html
版权说明:若无注明,本文皆 高性能VPS推荐与IT技术博客 | Haovps.Top 原创,转载请保留文章出处。
cc
最后修改:2024 年 07 月 17 日
如果觉得我的文章对你有用,请随意赞赏