【实用Docker推荐】搭建nezha探针—管理VPS并监控延迟

感谢UniApi对本博客的的大力赞助。 创作不易,如果您觉得有帮助,请 支持LIncol29! 为了让我能够继续创作更好的内容,你也可以选择订阅博客的 VIP ,包年VIP仅需10元/年,所有VIP内容免费观看

前言

如果你还在为拥有许多 VPS ,却无法实时监测和管理。那么可以使用探针去进行探测和管理,本篇文章lincol使用 V6 only,只有 V6 的 VPS 来搭建探针。

Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.

如果你的 vps支持ipv4,那么可以跳过wrap。直接安装哪吒监控面板。

img

Wrap

WARP 网络出入口均为双栈 (IPv4+IPv6),因此单栈 VPS 云服务器可以连接到 WARP 网络来获取额外的网络连通性支持:

  • IPv6 Only VPS 可获得 IPv4 网络的访问能力,不再局限于 NAT64/DNS64 的束缚,能自定义任意 DNS 解析服务器,这对使用某科学的上网工具有奇效。
  • IPv4 Only VPS 可获得 IPv6 网络的访问能力,比如可作为 IPv6 Only VPS 的 SSH 跳板。
  • WARP 的 IPv6 网络的质量比 HE IPv6 Tunnel Broker 及 VPS 自带的都要好,很少绕路,可作为本机 IPv6 网络的替代。

WARP 对外访问网络的出口 IP 被很多网站视为真实用户,获得原生 IP 或私人家庭住宅 IP 的效果,可以解除某些网站基于 IP 的封锁限制:

  • 解锁 Netflix 非自制剧 (几乎失效,原因详见《为什么 WARP 解锁 Netflix 失效了?》)
  • 解决 Google 搜索流量异常频繁跳出人机身份验证的问题
  • 解决无法打开 Google Scholar (谷歌学术) 403 访问限制的问题
  • 解决 Google 的 IP 定位漂移到中国(送中),无法使用 YouTube Premium 的问题
  • 解锁 ChatGPT 访问限制(Access denied/1020)的问题 (仅限已开放服务的地区)。注意:实际使用不稳定,且有封号的风险。建议使用可安全访问并解锁 ChatGPT 的 VPS。

为仅 IPV6 服务器添加 IPV4,如图所示:

img

wrap 只是 相当于给VPS加了个出口,并不能直接 ping 该wrap地址

warp 一键脚本

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh

根据脚本命令按照自己需求选择即可

img

运行脚本后,出现 wrap 选项界面

img

运行脚本完成后,会输出 IPV4 地址,以及 wrap 选项如何使用

img

warp-go 一键脚本

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/warp-go.sh && bash warp-go.sh

安装 docker-compose

apt install docker-compose -y

也可以参考 lincol安装 docker 的文章:Docker-Compose安装、使用、更新

安装哪吒监控面板

从 V1 版本开始,不再区分 Dashboard 和 gRPC 端口,访问与通信均通过默认的 8008 端口。

直接使用以下命令安装

curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

img

如果不需要域名访问,连接地址直接填写 IP 地址 + 端口,TLS 选择 N;

需要域名访问则填写域名 + 端口,TLS 选择 y;

因为lincol是使用的 IPV6 机,所以域名解析是 AAAA 解析,解析IPV6 地址即可。

那如果你是使用 IPV4机器搭建,需要使用域名解析,可以nginx进行反代。配置如下

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    # http2 on; # Nginx > 1.25.1,请注释上面两行,启用此行

    server_name vps.demo.com; # 替换为你的域名
    ssl_certificate          /cert/fullchain.pem; # 域名证书路径
    ssl_certificate_key      /cert/privkey.pem;       # 域名私钥路径
    ssl_stapling on;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m; # 如果与其他配置冲突,请注释此项
    ssl_protocols TLSv1.2 TLSv1.3;

    underscores_in_headers on;
    # set_real_ip_from 0.0.0.0/0; # 替换为你的 CDN 回源 IP 地址段
    # real_ip_header CF-Connecting-IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
    # 如果你使用nginx作为最外层,把上面两行注释掉

    # grpc 相关    
    location ^~ /proto.NezhaService/ {
        grpc_set_header Host $host;
        # grpc_set_header nz-realip $http_CF_Connecting_IP; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
        grpc_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
        grpc_read_timeout 600s;
        grpc_send_timeout 600s;
        grpc_socket_keepalive on;
        client_max_body_size 10m;
        grpc_buffer_size 4m;
        grpc_pass grpc://dashboard;
    }
    # websocket 相关
    location ~* ^/api/v1/ws/(server|terminal|file)(.*)$ {
        proxy_set_header Host $host;
        #proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
        proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
        proxy_set_header Origin https://$host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
        proxy_pass http://127.0.0.1:8008;
    }
    # web
    location / {
        proxy_set_header Host $host;
        #proxy_set_header nz-realip $http_cf_connecting_ip; # 替换为你的 CDN 提供的私有 header,此处为 CloudFlare 默认
        proxy_set_header nz-realip $remote_addr; # 如果你使用nginx作为最外层,就把上面一行注释掉,启用此行
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
        proxy_buffer_size 128k;
        proxy_buffers 4 256k;
        proxy_busy_buffers_size 256k;
        proxy_max_temp_file_size 0;
        proxy_set_header X-Forwarded-Proto $scheme; # 如果你使用nginx作为最外层,就启用此行避免无法正确读取访问的协议
        proxy_pass http://127.0.0.1:8008;
    }
}

upstream dashboard {
    server 127.0.0.1:8008;
    keepalive 512;
}

登录 DashBoard 配置界面

使用域名+端口访问,首次登录的默认用户名和密码均为 admin

如前台一直显示 WebSocket 连接中,查看面板日志。

docker logs docker名称或者ID

报错如下:

websocket error: websocket: the client is not using the websocket protocol: ‘upgrade’ token not found in ‘Connection’ header

此问题为websocket故障,排查nginx配置中的websocket是否有问题。

img

img

部署 Agent

选择对应系统,会自动复制命令,到VPS粘贴即可。

可以在搭建面板服务器的 VPS 上也部署 Agent。达到监控本机的目的!

PixPin_2025-05-19_18-52-17

img

部署 Agent 踩坑报错

哪吒监控安装agent报错:Download nezha-agent release failed, check your network connectivity

如果一直卡在 installing,检查自己的网络,是否正常使用。

vps使用部署agent命令,安装成功以后。哪吒面板没有反应(没有加载出服务器)。必须加端口访问!!!

如果你是直接 IP 加端口访问,则使用8008

如果你是使用域名访问,则使用443

img

img

如果你在前面多次尝试中安装了多次 agent,可以使用以下命令删除。

删除 agent

./agent.sh uninstall

延迟监控 IP

使用 ICMP Ping 类型进行服务监控。

地区 电信 移动
广东 202.96.128.86 183.240.65.191
长沙 222.246.140.1 211.142.208.2

img

以下是NodeSeek、digvps,简称NS中收集到的ip,可以尝试使用。

城市 运营商 IP 地址
长沙 联通 42.48.2.1
株洲 联通 42.48.150.1
岳阳 联通 42.48.200.1
衡阳 联通 42.48.250.1
娄底 联通 42.49.50.1
邵阳 联通 42.49.15.1
永州 联通 42.49.80.1
张家界 联通 42.49.197.1
湘潭 联通 42.49.111.17
怀化 联通 42.49.148.65
湘西 联通 42.49.176.1
郴州 联通 42.49.185.2
益阳 联通 42.49.210.1
常德 联通 42.49.130.5
长沙 移动 211.142.208.2
衡阳 移动 211.142.226.33
株洲 移动 211.142.238.1
岳阳 移动 211.142.250.1
湘潭 移动 211.142.245.1
常德 移动 211.143.9.1
益阳 移动 211.143.18.1
湘西 移动 211.143.22.1
永州 移动 211.143.29.1
怀化 移动 211.143.32.1
娄底 移动 211.143.42.1
郴州 移动 211.143.38.99
张家界 移动 211.143.44.1
邵阳 移动 211.143.15.5
长沙 电信 222.246.140.1
衡阳 电信 59.51.78.1
郴州 电信 61.187.191.1
娄底 电信 218.76.133.1
常德 电信 220.168.209.1
邵阳 电信 218.76.197.1
株洲 电信 61.187.98.1
怀化 电信 220.169.97.1
湘西 电信 218.76.67.1
湘潭 电信 220.170.5.1
益阳 电信 61.187.80.1
岳阳 电信 61.187.92.1
张家界 电信 218.254.33.1
永州 电信 218.76.249.1
地区 电信 移动 联通 教育
上海 202.96.209.133 183.194.219.220 210.22.97.1 202.120.2.119
北京 49.7.37.74 112.34.111.194 111.206.209.44 166.111.4.100
广州 183.47.126.35 120.233.18.250 157.148.58.29 202.116.64.8
河北 27.185.242.215 111.62.229.100 61.182.138.156
山西 1.71.157.41 183.201.244.91 60.221.18.41
辽宁 123.184.58.41 36.131.156.145 218.61.211.132
吉林 123.172.127.217 111.27.127.176 122.143.8.41
黑龙江 42.101.84.132 111.42.190.25 113.7.211.140
江苏 58.215.210.220 36.156.92.132 122.96.235.165
浙江 115.220.14.91 117.147.213.41 101.69.194.224
安徽 223.247.108.251 112.29.198.100 112.132.208.41
福建 106.126.10.28 112.50.96.88 36.248.48.139
江西 106.227.22.132 117.168.150.249 116.153.69.224
山东 144.123.160.140 120.220.145.91 112.240.56.143
河南 171.15.110.220 111.7.99.220 123.6.65.101
湖北 111.170.8.60 111.47.131.101 122.189.226.138
湖南 113.240.117.108 120.226.192.91 116.162.28.220
广东 183.36.23.111 183.240.65.191 112.90.211.100
海南 124.225.43.220 111.29.29.219 153.0.226.35
四川 118.123.218.220 183.220.151.41 101.206.163.49
贵州 58.42.61.132 61.243.18.220 117.187.254.132
云南 222.221.102.220 36.147.44.219 14.204.150.41
陕西 124.115.14.100 111.19.148.100 123.139.127.132
甘肃 118.182.228.91 117.157.16.41 59.81.94.53
青海 223.221.216.219 111.12.152.170 116.177.237.137
内蒙古 110.76.186.70 117.161.76.41 116.114.98.41
广西 222.217.93.55 36.136.112.41 171.39.5.51
西藏 113.62.176.89 117.180.234.41 43.242.165.35
宁夏 222.75.44.220 111.51.155.214 116.129.226.28
新疆 110.157.243.45 36.189.208.164 116.178.77.40
天津 42.81.98.35 111.31.236.35 116.78.119.56
重庆 119.84.131.101 221.178.81.101 113.207.69.190

显示服务器价格并监控服务器到期时间

将以下代码插入到服务器编辑的公开备注中

img

根据需求自行修改价格和到期时间

{
  "billingDataMod": {
    "startDate": "2024-12-08T12:58:17.636Z",
    "endDate": "2024-12-08T12:58:17.636Z",
    "autoRenewal": "1",
    "cycle": "Year",
    "amount": "200EUR"
  },
  "planDataMod": {
    "bandwidth": "30Mbps",
    "trafficVol": "1TB/Month",
    "trafficType": "2",
    "IPv4": "1",
    "IPv6": "1",
    "networkRoute": "4837",
    "extra": "Einstein"
  }
}

配置字段说明

  1. 账单信息 billingDataMod

  2. startDate:账单起始日期(ISO 时间格式)。

  3. endDate:账单结束日期(ISO 时间格式)。
  4. autoRenewal:自动续费状态,1 表示启用。
  5. cycle:账单周期(如 )。
  6. amount:账单金额及货币单位。

  7. 流量和网络配置 planDataMod

  8. bandwidth:服务器带宽信息。

  9. trafficVol:流量配额及周期。
  10. trafficType:流量类型,1 表示入站,2 表示双向。
  11. IPv4 / IPv6:支持的 IPv4 或 IPv6 地址数量。
  12. networkRoute:网络路由信息(如 AS4837)。
  13. extra:额外备注字段,可用于填写其他信息。

推荐阅读

nezha github源码Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.

Cloudflare WARP 教程

nezha-dash github源码:此为V0兼容版本

wrap gitlab

哪吒服务器监控 wiki文档:如果有什么不懂的可以查阅文档,文档非常详细啦

全国运营商DNS服务器IPv4&IPv6地址记录

公共DNS大全

DNS服务器IP地址-域名注册查询-CDN加速技术

全国各地运营商dns列表(供查询)

https://digvps.com/depoly/nezha

https://www.nodeseek.com/post-82748-1

创作不易,如果您觉得有帮助,请支持LIncol29!
如有需要,请至网站地图学习本博客的教程
博客订阅:通过RSS或关注公众号[Lincol的编程世界] | 广告招租与合作请留言
本文链接:https://www.lincol29.cn/deploy-nezha
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议转载请注明文章地址及作者哦~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇