File tree Expand file tree Collapse file tree 6 files changed +260
-109
lines changed
Expand file tree Collapse file tree 6 files changed +260
-109
lines changed Original file line number Diff line number Diff line change 1- # XUGOU - 基于CloudFlare搭建的轻量化监控平台
1+ # XUGOU - 基于 CloudFlare 搭建的轻量化监控平台
22
33<div align =" center " >
44
55![ XUGOU Logo] ( frontend/public/logo.svg )
66
77XUGOU 是一个基于 CloudFlare 的轻量化系统监控平台,提供系统监控和状态页面功能。
88
9- [ English] ( ./README_EN.md ) | 简体中文
10-
119</div >
1210
1311## 📅 开发计划
@@ -18,26 +16,30 @@ XUGOU 是一个基于 CloudFlare 的轻量化系统监控平台,提供系统
1816- ✅ HTTP 监控 - API 接口健康检测
1917- ✅ 数据可视化 - 实时数据展示与历史趋势
2018- ✅ 状态页面 - 可定制的服务状态页面
21- - ✅ 告警通知 - 异常事件通过多渠道通知(电子邮件、Telegram等 )
19+ - ✅ 告警通知 - 异常事件通过多渠道通知(电子邮件、Telegram 等 )
2220- ✅ 用户管理 - 支持用户注册、多用户管理,可分配不同权限
2321
2422## ✨ 核心特性
2523
2624- 🖥️ ** 系统监控**
25+
2726 - 实时监控 CPU、内存、磁盘、网络等系统指标
2827 - 支持自定义监控间隔
29- - 全平台支持(agent由go编写,理论上go能编译的平台都可以支持 )
28+ - 全平台支持(agent 由 go 编写,理论上 go 能编译的平台都可以支持 )
3029
3130- 🌐 ** HTTP 监控**
31+
3232 - 支持 HTTP/HTTPS 接口监控
3333 - 自定义请求方法、头部和请求体
3434 - 响应时间、状态码和内容检查
3535
3636- 📊 ** 数据可视化**
37+
3738 - 实时数据图表展示
3839 - 自定义仪表盘
3940
4041- 🌍 ** 状态页面**
42+
4143 - 自定义状态页面
4244 - 支持多监控项展示
4345 - 响应式设计
@@ -61,20 +63,25 @@ XUGOU 采用现代化的系统架构,包含以下组件:
6163
6264默认用户名:admin 默认密码: admin123
6365
64- [ XUGOU wiki 部署指南] ( https://github.com/zaunist/xugou/wiki )
66+ [ 部署指南] ( ./docs/部署指南.md )
67+
68+ ### 开发指南
69+
70+ [ 开发指南] ( ./docs/开发指南.md )
6571
6672## 常见问题
6773
68- [ XUGOU wiki 常见问题] ( https://github.com/zaunist/xugou/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 )
74+ [ 常见问题] ( ./docs/常见问题.md )
6975
7076## ⭐ 支持一下作者
7177
72- - Gitfish: [ Gitfish 赞助] ( https://www.gitfish.dev/repo/zaunist/xugou )
73-
7478<div align =" center " >
7579 <a href =" https://buymeacoffee.com/real_zaunist " target =" _blank " >
7680 <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="200" height="51">
7781 </a >
82+ <div style =" margin-top : 12px ;" >
83+ <img src="./docs/mm_reward_qrcode.png" alt="赞赏码" width="240">
84+ </div >
7885</div >
7986
8087## 🤝 贡献
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ # 常见问题 (FAQ)
2+
3+ 本文档收集了 XUGOU 使用过程中的常见问题及解决方案。
4+
5+ ## 安装与部署问题
6+
7+ ### 问题: Agent 报告无法连接到后端服务。
8+
9+ ** 解决方案** :
10+
11+ 1 . 确认后端服务 URL 是否正确配置
12+ 2 . 检查网络连接是否正常
13+ 3 . 确认 API 令牌是否正确
14+ 4 . worker 的默认域名在国内无法访问,请替换为自定义域名
15+
16+ ### 问题:创建 worker 时导入存储库页面找不到 xugou
17+
18+ 一般这种情况是使用 ` 通过 Git URL 克隆存储库 ` 方式创建的,建议删除通过 cloudflare fork 的仓库,同时删除 github 上安装的 cloudflare App。然后重新手动 fork。
19+ 管理已安装的 GitHub App: https://github.com/settings/installations
20+
21+ ### 问题:为什么数据库 ID 不使用环境变量?
22+
23+ 现在的部署,是通过 cloudflare 的 wrangler 工具部署,没有设置 GitHub Action,而 cloudflare 在部署时会直接读取 wrangler.tom 文件中的值,我没找到设置环境变量的方式。
24+ 假如要使用环境变量,那么就需要改造现有的部署流程,引入 GitHub Action,我认为没必要,现有的方式已经足够。
25+
26+ ## 使用问题
27+
28+ ### 问题:部署完成以后,电脑可以访问,手机端不行
29+
30+ 手机端打开代理就能访问,这或许是当地移动运营商屏蔽了 cf 的 ip?
31+
32+ ### 问题:agent 显示“令牌签名无效”
33+
34+ 改了 admin 用户的名字导致的,把名字改回去,重新生成 token 就好了
35+
36+ 参考:https://github.com/zaunist/xugou/issues/77#issuecomment-3646078253
Original file line number Diff line number Diff line change 1+ # 开发指南
2+
3+ 本文档将帮助您了解XUGOU项目的开发环境配置、项目结构和开发流程。
4+
5+ ## 环境要求
6+
7+ 在开始开发XUGOU项目之前,请确保您的系统满足以下要求:
8+
9+ - ** Node.js** >= 18
10+ - ** Go** >= 1.24
11+ - ** Git**
12+
13+ ## 项目结构
14+
15+ XUGOU项目分为三个主要部分:
16+
17+ ### 前端 (frontend)
18+
19+ 前端使用React + TypeScript开发,目录结构如下:
20+
21+ ```
22+ frontend/
23+ ├── public/ # 静态资源
24+ ├── src/ # 源代码
25+ │ ├── api/ # API调用
26+ │ ├── components/ # 通用组件
27+ │ ├── pages/ # 页面组件
28+ │ ├── store/ # 状态管理
29+ │ ├── styles/ # 样式文件
30+ │ ├── types/ # TypeScript类型定义
31+ │ └── utils/ # 工具函数
32+ ├── .env.local # 本地环境变量
33+ ├── package.json # 项目依赖
34+ ├── tsconfig.json # TypeScript配置
35+ └── vite.config.ts # Vite配置
36+ ```
37+
38+ ### 后端 (backend)
39+
40+ 后端基于Cloudflare Workers开发,目录结构如下:
41+
42+ ```
43+ backend/
44+ ├── src/ # 源代码
45+ │ ├── controllers/ # 控制器
46+ │ ├── models/ # 数据模型
47+ │ ├── routes/ # 路由定义
48+ │ └── utils/ # 工具函数
49+ ├── schema.sql # 数据库架构
50+ ├── wrangler.toml # Cloudflare Workers配置
51+ └── package.json # 项目依赖
52+ ```
53+
54+ ### 客户端 (agent)
55+
56+ 监控客户端使用Go语言开发,目录结构如下:
57+
58+ ```
59+ agent/
60+ ├── cmd/ # 命令行命令
61+ │ └── agent/ # 命令行实现
62+ ├── pkg/ # 功能包
63+ │ ├── collector/ # 数据收集器
64+ │ └── reporter/ # 数据上报器
65+ ├── main.go # 程序入口
66+ └── go.mod # Go依赖
67+ ```
68+
69+ ## 开发流程
70+
71+ ### 1. 克隆项目
72+
73+ ``` bash
74+ git clone https://github.com/zaunist/xugou.git
75+ cd xugou
76+ ```
77+
78+ ### 2. 前端开发
79+
80+ ``` bash
81+ # 进入前端目录
82+ cd frontend
83+
84+ # 安装依赖
85+ pnpm install
86+
87+ # 配置环境变量
88+ cp .env.local.example .env.local
89+ # 编辑.env.local,设置后端API地址
90+
91+ # 启动开发服务器
92+ pnpm run dev
93+ ```
94+
95+ 前端开发服务器将在 ` http://localhost:5173 ` 启动。
96+
97+ ### 3. 后端开发
98+
99+ ``` bash
100+ # 进入后端目录
101+ cd backend
102+
103+ # 安装依赖
104+ pnpm install
105+
106+ # 启动开发服务器
107+ pnpm run dev
108+ ```
109+
110+ 后端开发服务器将在本地启动,通常在控制台输出中会显示地址。
111+
112+ ### 4. 客户端开发
113+
114+ ``` bash
115+ # 进入客户端目录
116+ cd agent
117+
118+ # 构建客户端
119+ go build -o xugou-agent
120+
121+ # 运行客户端(控制台输出模式)
122+ ./xugou-agent --server console start
123+ ```
124+
125+ ## 代码提交规范
126+
127+ 为保持代码库的一致性和可维护性,请遵循以下代码提交规范:
128+
129+ 1 . ** 分支管理** :
130+ - ` main ` :主分支,只接受稳定版本的合并
131+ - ` dev ` :开发分支,日常开发在此分支上进行
132+ - 功能分支:以` feature/ ` 为前缀,例如` feature/dashboard `
133+ - 修复分支:以` fix/ ` 为前缀,例如` fix/memory-leak `
134+
135+ 2 . ** 提交信息** :
136+ - 格式:` 类型: 描述 ` ,例如` feat: 添加用户认证功能 `
137+ - 类型包括:
138+ - ` feat ` :新功能
139+ - ` fix ` :修复bug
140+ - ` docs ` :文档更新
141+ - ` style ` :代码风格修改(不影响代码功能)
142+ - ` refactor ` :重构代码
143+ - ` test ` :添加或修改测试
144+ - ` chore ` :构建过程或工具变动
145+
146+ 3 . ** 代码审查** :所有代码合并到主分支前需要通过代码审查
You can’t perform that action at this time.
0 commit comments