初始化提交
This commit is contained in:
156
README.md
Normal file
156
README.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# 萌芽监控面板
|
||||
|
||||
一个简洁高效的 Linux 服务器监控面板,采用前后端分离架构。
|
||||
|
||||
## 项目概述
|
||||
|
||||
### 功能
|
||||
- 实时监控 Linux 服务器的 CPU、内存、存储、GPU 使用情况
|
||||
- 支持同时监控多个服务器
|
||||
- 卡片式展示,直观清晰
|
||||
- 详情弹窗查看完整信息
|
||||
|
||||
### 技术栈
|
||||
- **前端**: React 19 + TypeScript + Vite
|
||||
- **后端**: Go (原生 net/http 库)
|
||||
- **风格**: 白色柔和风格界面
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 后端部署
|
||||
|
||||
1. 进入后端目录
|
||||
```bash
|
||||
cd mengyamonitor-backend
|
||||
```
|
||||
|
||||
2. 编译(在 Linux 服务器上)
|
||||
```bash
|
||||
go build -o mengyamonitor-backend
|
||||
```
|
||||
|
||||
3. 运行
|
||||
```bash
|
||||
./mengyamonitor-backend
|
||||
```
|
||||
默认监听端口: 9292
|
||||
|
||||
4. 可选:配置环境变量
|
||||
```bash
|
||||
PORT=8080 ./mengyamonitor-backend
|
||||
```
|
||||
|
||||
### 前端开发
|
||||
|
||||
1. 进入前端目录
|
||||
```bash
|
||||
cd mengyamonitor-frontend
|
||||
```
|
||||
|
||||
2. 安装依赖
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. 启动开发服务器
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
默认访问端口: 2929
|
||||
|
||||
4. 构建生产版本
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 1. 部署后端到服务器
|
||||
将编译好的 `mengyamonitor-backend` 二进制文件上传到需要监控的 Linux 服务器并运行。
|
||||
|
||||
### 2. 配置前端
|
||||
在前端界面点击"添加服务器",输入:
|
||||
- 服务器名称:例如"生产服务器1"
|
||||
- 服务器地址:例如"http://192.168.1.100:9292"
|
||||
|
||||
### 3. 查看监控数据
|
||||
- 主界面显示所有服务器的基本信息(CPU、内存使用率)
|
||||
- 点击"查看详情"可查看完整的系统信息
|
||||
- 数据每2秒自动刷新
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
萌芽监控面板/
|
||||
├── mengyamonitor-backend/ # 后端服务
|
||||
│ ├── main.go # 主程序和HTTP服务器
|
||||
│ ├── systeminfo.go # 系统信息采集
|
||||
│ ├── go.mod # Go模块配置
|
||||
│ └── README.md # 后端文档
|
||||
│
|
||||
├── mengyamonitor-frontend/ # 前端应用
|
||||
│ ├── src/
|
||||
│ │ ├── api/ # API调用层
|
||||
│ │ ├── components/ # React组件
|
||||
│ │ ├── hooks/ # 自定义Hooks
|
||||
│ │ ├── types/ # TypeScript类型
|
||||
│ │ ├── utils/ # 工具函数
|
||||
│ │ ├── App.tsx # 主应用
|
||||
│ │ └── main.tsx # 入口文件
|
||||
│ ├── package.json
|
||||
│ ├── vite.config.ts
|
||||
│ └── README.md # 前端文档
|
||||
│
|
||||
└── 需求.txt # 需求文档
|
||||
```
|
||||
|
||||
## API 接口
|
||||
|
||||
### GET /api/health
|
||||
健康检查
|
||||
|
||||
### GET /api/metrics
|
||||
获取系统监控指标
|
||||
```json
|
||||
{
|
||||
"data": {
|
||||
"hostname": "server1",
|
||||
"timestamp": "2025-12-10T10:00:00Z",
|
||||
"cpu": { "usagePercent": 23.45, ... },
|
||||
"memory": { "usedPercent": 50.0, ... },
|
||||
"storage": [...],
|
||||
"gpu": [...],
|
||||
"os": { ... },
|
||||
"uptimeSeconds": 864000.5
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **系统支持**: 后端仅支持 Linux 系统
|
||||
2. **权限要求**: 需要读取 `/proc` 文件系统的权限
|
||||
3. **GPU 监控**: 需要安装 `nvidia-smi` 工具(可选)
|
||||
4. **网络访问**: 确保前端可以访问后端的 9292 端口
|
||||
5. **CORS**: 后端已配置允许跨域访问
|
||||
|
||||
## 常见问题
|
||||
|
||||
**Q: 前端无法连接后端?**
|
||||
A: 检查服务器防火墙是否开放 9292 端口,确保后端服务正在运行。
|
||||
|
||||
**Q: GPU 信息显示不可用?**
|
||||
A: 如果服务器没有 NVIDIA GPU 或未安装 nvidia-smi,GPU 信息会显示为"不可用",这是正常的。
|
||||
|
||||
**Q: 如何将前端打包成桌面应用?**
|
||||
A: 可以使用 Electron 或 Tauri 框架将前端打包成桌面应用,详见前端 README。
|
||||
|
||||
## 开发者
|
||||
|
||||
- 前后端分离架构,代码结构清晰
|
||||
- 符合企业级开发规范
|
||||
- 易于扩展和维护
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user