Files
2026-09-04 16:30:37 +08:00

472 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 多节点 Ping 测速与网络监控平台
一个面向企业和个人开发者的**开源、多节点网络测速与监控平台**。
本项目致力于帮助企业以更低的成本快速搭建自己的网络质量监控、Ping 测速、多节点探测及网络运维平台,同时提供完整的 Agent 管理、消息调度、广告位管理等能力。
我们希望通过开源,让更多优秀的开发者、企业和有想法的人参与进来,共同完善项目,也期待与更多伙伴探索技术、产品和商业上的合作机会。
---
## ✨ 开源与合作
### 开源协议
OKPing 基于 **GNU Affero General Public License v3.0(AGPL-3.0)** 开源。
我们希望 OKPing 能够成为一个开放、持续发展的网络质量监控平台,欢迎开发者基于本项目进行学习、优化、二次开发和功能扩展,也欢迎将改进后的代码贡献回社区。
你可以自由地:
- 使用 OKPing
- 修改源代码
- 二次开发
- 增加新的功能
- 修复和优化现有功能
- 自行部署
- 用于个人或商业项目
但使用、修改和再发布本项目时,需要遵守 **AGPL-3.0** 协议的相关要求。
如果你基于 OKPing 修改代码并通过网络向其他用户提供服务,也需要按照 AGPL-3.0 的要求向相应用户提供对应的源代码。
请保留项目原有的版权声明、许可证声明以及相关第三方版权声明。
**OKPing、OKPing Logo、okping.net 等品牌、商标及相关商业标识不属于本开源许可证的授权范围。**
完整许可证内容请参见项目根目录的 `LICENSE` 文件。
### 合作
项目完全开源,希望能够帮助更多优秀、有想法、有创造力的开发者一起学习、改进和发展。
如果你基于 OKPing 进行了新的功能开发、二次开发或者形成了新的应用场景,也欢迎与我们交流。
同时,我们也提供**付费二次开发、项目部署及系统维护服务**。
如果你需要:
* OKPing 二次开发
* 功能定制
* 企业业务系统对接
* 项目部署
* 服务器环境配置
* 系统故障排查
* 项目维护
* Agent 节点部署
* 生产环境部署
可以通过以下邮箱联系:
**📧 [okpingnet@outlook.com](mailto:okpingnet@outlook.com)**
**📧 [WhatsApp:ndhello](https://wa.me/ndhello)**
> **开源使用说明:**
>
> 项目可以自由使用和进行二次开发,但请保留项目底部的版权信息及相关开源声明。
>
> 我们希望在保持开源精神的同时,也让项目的来源和贡献者能够被正确地记录和认可。
---
# 🏗️ 项目架构
项目采用前后端分离以及 **Master + Agent + Message Queue** 的整体架构。
```text
┌─────────────────────┐
│ 用户端 │
│ Next.js │
└──────────┬──────────┘
│
│ API
▼
┌─────────────────────┐
│ 主控端 │
│ RuoYi-Vue-Plus │
│ │
│ 用户 / 权限 / 任务 │
│ 节点 / 数据 / 广告 │
└──────────┬──────────┘
│
RabbitMQ
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ Agent 1 │ │ Agent 2 │ │ Agent N │
│ Blackbox │ │ Blackbox │ │ Blackbox │
│ Agent │ │ Agent │ │ Agent │
└────────────┘ └────────────┘ └────────────┘
│ │ │
▼ ▼ ▼
Ping Ping Ping
TCPing HTTP DNS
Traceroute ...... ......
```
### 核心组件
| 组件 | 技术 |
| ------ | ----------------------------------------- |
| 用户端 | Next.js |
| 管理端 | Vue |
| 主控端 | RuoYi-Vue-Plus |
| Agent | Prometheus Blackbox Exporter 二次开发 |
| 消息中间件 | RabbitMQ |
| IP 地址库 | ip2region |
| 网络探测 | Ping / TCPing / HTTP / DNS / Traceroute 等 |
---
## 📷项目截图
### 用户端部分
![img.png](images/img.png)
![img_1.png](images/img_1.png)
### 管理端
![img_18.png](images/img_18.png)
![img_2.png](images/img_2.png)
![img_3.png](images/img_3.png)
![img_4.png](images/img_4.png)
![img_5.png](images/img_5.png)
![img_6.png](images/img_6.png)
![img_7.png](images/img_7.png)
![img_8.png](images/img_8.png)
![img_9.png](images/img_9.png)
![img_10.png](images/img_10.png)
![img_11.png](images/img_11.png)
![img_12.png](images/img_12.png)
# 🚀 核心功能
## 多节点网络测速
平台支持部署多个不同地域、不同网络环境的 Agent。
用户可以从不同节点发起网络测试,从而了解目标地址在不同地域、不同运营商网络环境下的访问质量。
支持的探测能力包括:
* Ping
* TCPing
* HTTP
* DNS
* Traceroute
* IPv4
* IPv6
通过多节点探测,可以更加真实地了解网站、API、服务器以及网络服务在不同地区的网络质量。
---
## 🤖 Agent 自动上下线
Agent 内置节点状态检测机制。
平台能够自动识别 Agent 当前状态:
```text
Online
│
│ 心跳正常
▼
正常运行
│
│ 心跳超时
▼
Offline
```
无需管理员手动维护节点状态。
当 Agent 出现:
* 服务器宕机
* 网络中断
* Agent 异常
* 服务停止
* 节点不可达
等情况时,平台能够自动识别节点状态变化。
---
## ⚡ Agent 一键部署
项目提供 Agent 一键部署能力。
通过主控端生成对应的部署配置,用户可以快速在目标服务器部署网络探测 Agent。
降低传统监控系统中:
```text
下载程序
↓
修改配置
↓
安装依赖
↓
配置服务
↓
启动程序
↓
配置节点
```
这一系列复杂操作的门槛。
目标是让没有复杂运维经验的用户,也能够快速完成监控节点部署。
---
# 🌍 IP 地址库
项目集成 **ip2region** IP 地址库,并支持 IP 库的修改和上传。
可以根据实际业务需求更新 IP 数据,从而实现更加灵活的 IP 地理位置解析。
可用于:
* IP 地理位置
* 国家 / 地区识别
* 城市识别
* 节点地域展示
* 节点地图
* 网络访问来源分析
---
# 📢 全局广告系统
项目内置完整的全局广告能力。
广告系统不仅支持普通页面广告位,同时可以根据平台业务场景进行更加细粒度的广告配置。
### 页面广告位
支持在不同页面配置广告内容,例如:
```text
首页
├── 顶部广告
├── 内容区域广告
└── 底部广告
Ping
├── 顶部广告
└── 测试结果广告
监控
├── 页面广告
└── 节点相关广告
```
### SEO 优化能力
用户端采用 Next.js,并与主控系统结合,实现 SEO 配置能力。
管理员可以通过主控系统配置相关 SEO 信息,由用户端动态使用。
包括:
* 页面 Title
* Description
* Keywords
* SEO 页面内容
* Open Graph 等页面信息
通过这种方式,可以让企业在使用网络监控系统的同时,拥有更加完善的网站 SEO 能力。
### 节点广告位
平台支持针对节点设置广告位。
可以根据不同节点、不同区域以及不同业务需求进行广告展示。
这使得项目不仅可以作为一个单纯的开源监控系统使用,也可以作为企业自己的网络监控与流量运营平台进行二次开发。
---
# 💡 助力企业低成本建站
我们希望这个项目解决的不仅仅是“如何进行 Ping 测速”。
对于很多企业来说,搭建一套完整的网络监控平台通常需要:
* 前端开发
* 后端开发
* 管理后台
* 用户系统
* 权限系统
* 节点系统
* Agent
* 消息队列
* 监控系统
* 数据展示
* 广告系统
* 运维部署
从零开始开发,需要投入大量的人力和时间。
本项目希望通过开源的方式,将这些基础能力提前建设完成。
企业可以直接基于项目进行:
```text
开源项目
↓
部署
↓
配置自己的 Agent
↓
接入自己的业务
↓
二次开发
↓
形成自己的网络监控平台
```
从而降低企业技术投入和开发成本。
---
# 🧩 适合哪些场景?
本项目适合:
### 企业网络监控
监控企业网站、API、服务器以及关键业务系统的网络质量。
### IDC / 云服务商
部署多个地域节点,为客户提供网络质量测试能力。
### SaaS 平台
基于项目进行二次开发,构建自己的网络监控 SaaS。
### 开发者
学习:
* Next.js
* Vue
* Java
* RuoYi-Vue-Plus
* RabbitMQ
* Prometheus
* Blackbox Exporter
* 分布式 Agent
* 多节点监控架构
### 创业项目
可以直接在开源项目基础上开发自己的产品,而不需要从用户系统、管理后台、节点管理等基础功能重新开始。
---
# ❤️ 为什么开源?
我们认为:
> **优秀的项目不应该只属于一个人。**
开源的意义不仅仅是免费使用代码,更重要的是让更多拥有想法的人能够参与进来。
我们希望通过开源:
* 让更多开发者参与项目
* 让更多优秀的想法得到实现
* 共同完善项目
* 分享技术经验
* 降低企业技术成本
* 寻找更多合作机会
* 探索更多产品可能性
如果你有新的想法、功能建议或者商业合作方向,非常欢迎参与项目。
也许一个简单的 Issue、一个 Pull Request,或者一次交流,就能够让这个项目变得更好。
---
# 🤝 寻找合作
我们欢迎以下形式的合作:
* 技术合作
* 产品合作
* 企业合作
* SaaS 合作
* 节点资源合作
* 网络资源合作
* 项目二次开发
* 商业化合作
如果你正在寻找一个开源的网络监控基础平台,或者希望基于本项目开发自己的产品,欢迎联系我们。
---
# 📚 文档
详细使用文档:
* Ping 测速
* TCPing
* HTTP
* DNS
* Traceroute
* 多节点监控
* Agent 部署
* 节点管理
* 监控任务
* 告警配置
* 广告配置
请查看项目官方文档。
---
# 📄 开源声明
本项目坚持开源精神。
在使用、修改和二次开发本项目时,请遵守项目所采用的开源协议及相关第三方项目协议。
特别感谢以下优秀的开源项目:
* RuoYi-Vue-Plus
* Prometheus
* Blackbox Exporter
* RabbitMQ
* ip2region
* Vue
* Next.js
感谢所有开源项目的贡献者。
---
## ⭐ 如果项目对你有帮助
如果这个项目对你的工作、学习或创业有所帮助,欢迎:
* Star 项目
* 提交 Issue
* 提交 Pull Request
* 分享项目
* 提出新的想法
* 与我们进行合作
**让更多优秀的人参与进来,一起把事情做好。**
---
<div align="center">
**Open Source · Build Together · Grow Together**
**开源 · 共建 · 共赢**
Copyright © OKPing
</div>