初始化提交
This commit is contained in:
121
mengyamonitor-backend/README.md
Normal file
121
mengyamonitor-backend/README.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# 萌芽监控面板 - 后端服务
|
||||
|
||||
## 概述
|
||||
Linux 服务器监控后端服务,使用 Go 原生 net/http 库实现。
|
||||
|
||||
## 功能
|
||||
- CPU 使用率和负载监控
|
||||
- 内存使用情况
|
||||
- 磁盘存储监控
|
||||
- GPU 监控(支持 NVIDIA)
|
||||
- 操作系统信息
|
||||
- 系统运行时间
|
||||
|
||||
## API 端点
|
||||
|
||||
### `GET /api/health`
|
||||
健康检查端点
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
"timestamp": "2025-12-10T10:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
### `GET /api/metrics`
|
||||
获取系统监控指标
|
||||
```json
|
||||
{
|
||||
"data": {
|
||||
"hostname": "server1",
|
||||
"timestamp": "2025-12-10T10:00:00Z",
|
||||
"cpu": {
|
||||
"model": "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz",
|
||||
"cores": 8,
|
||||
"usagePercent": 23.45,
|
||||
"loadAverages": [1.2, 1.5, 1.8]
|
||||
},
|
||||
"memory": {
|
||||
"totalBytes": 16777216000,
|
||||
"usedBytes": 8388608000,
|
||||
"freeBytes": 8388608000,
|
||||
"usedPercent": 50.0
|
||||
},
|
||||
"storage": [{
|
||||
"mount": "/",
|
||||
"totalBytes": 107374182400,
|
||||
"usedBytes": 53687091200,
|
||||
"freeBytes": 53687091200,
|
||||
"usedPercent": 50.0
|
||||
}],
|
||||
"gpu": [{
|
||||
"name": "Tesla T4",
|
||||
"memoryTotalMB": 15360,
|
||||
"memoryUsedMB": 512,
|
||||
"utilizationPercent": 15.0,
|
||||
"status": "ok"
|
||||
}],
|
||||
"os": {
|
||||
"kernel": "Linux version 5.15.0",
|
||||
"distro": "Ubuntu 22.04 LTS",
|
||||
"architecture": "amd64"
|
||||
},
|
||||
"uptimeSeconds": 864000.5
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 运行方式
|
||||
|
||||
### 开发环境
|
||||
```bash
|
||||
go run .
|
||||
```
|
||||
|
||||
### 生产环境
|
||||
|
||||
#### 标准编译
|
||||
```bash
|
||||
# 编译
|
||||
go build -o mengyamonitor-backend
|
||||
|
||||
# 运行
|
||||
./mengyamonitor-backend
|
||||
```
|
||||
|
||||
#### 兼容旧版本系统编译(推荐)
|
||||
|
||||
如果需要在 Debian 11 或其他旧版本系统上运行,使用静态链接编译:
|
||||
|
||||
```bash
|
||||
# 禁用 CGO,静态链接(不依赖系统 GLIBC 版本)
|
||||
export CGO_ENABLED=0
|
||||
go build -ldflags="-s -w" -o mengyamonitor-backend .
|
||||
|
||||
# 或使用提供的脚本
|
||||
chmod +x build.sh
|
||||
./build.sh
|
||||
```
|
||||
|
||||
这样可以避免 GLIBC 版本兼容性问题。详细说明请参考 [BUILD.md](./BUILD.md)。
|
||||
|
||||
### 环境变量
|
||||
- `HOST`: 监听地址,默认 `0.0.0.0`
|
||||
- `PORT`: 监听端口,默认 `9292`
|
||||
|
||||
示例:
|
||||
```bash
|
||||
PORT=8080 ./mengyamonitor-backend
|
||||
```
|
||||
|
||||
## 部署到服务器
|
||||
|
||||
1. 将编译好的二进制文件上传到目标服务器
|
||||
2. 赋予执行权限:`chmod +x mengyamonitor-backend`
|
||||
3. 运行服务:`./mengyamonitor-backend`
|
||||
4. 可选:使用 systemd 或 supervisor 管理服务进程
|
||||
|
||||
## 注意事项
|
||||
- 仅支持 Linux 系统
|
||||
- GPU 监控需要安装 nvidia-smi 工具
|
||||
- 需要读取 /proc 文件系统的权限
|
||||
Reference in New Issue
Block a user