easytier-contrib/easytier-uptime/README.md
一个用于监控 EasyTier 实例健康状态和运行时间的系统。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ Database │
│ (Vue.js) │◄──►│ (Rust/Axum) │◄──►│ (SQLite) │
│ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ Dashboard │ │ │ │ API Routes │ │ │ │ Nodes │ │
│ │ Health View │ │ │ │ Health │ │ │ │ Health │ │
│ │ Node Mgmt │ │ │ │ Instances │ │ │ │ Instances │ │
│ │ Charts │ │ │ │ Scheduler │ │ │ │ Stats │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ └─────────────┘ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
克隆项目
git clone <repository-url>
cd easytier-uptime
启动开发环境
./start-dev.sh
访问应用
启动生产环境
./start-prod.sh
停止生产环境
./stop-prod.sh
| 变量名 | 默认值 | 说明 |
|---|---|---|
SERVER_HOST | 127.0.0.1 | 服务器监听地址 |
SERVER_PORT | 8080 | 服务器端口 |
DATABASE_PATH | uptime.db | 数据库文件路径 |
DATABASE_MAX_CONNECTIONS | 10 | 数据库最大连接数 |
HEALTH_CHECK_INTERVAL | 30 | 健康检查间隔(秒) |
HEALTH_CHECK_TIMEOUT | 10 | 健康检查超时(秒) |
HEALTH_CHECK_RETRIES | 3 | 健康检查重试次数 |
RUST_LOG | info | 日志级别 |
CORS_ALLOWED_ORIGINS | http://localhost:3000 | 允许的跨域来源 |
ENABLE_CORS | true | 是否启用CORS |
ENABLE_COMPRESSION | true | 是否启用压缩 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
VITE_APP_TITLE | EasyTier Uptime Monitor | 应用标题 |
VITE_API_BASE_URL | /api | API基础URL |
VITE_APP_ENV | development | 应用环境 |
VITE_ENABLE_DEV_TOOLS | true | 是否启用开发工具 |
VITE_API_TIMEOUT | 10000 | API超时时间(毫秒) |
GET /health
# 获取节点列表
GET /api/nodes
# 创建节点
POST /api/nodes
# 获取节点详情
GET /api/nodes/{id}
# 更新节点
PUT /api/nodes/{id}
# 删除节点
DELETE /api/nodes/{id}
# 获取节点健康历史
GET /api/nodes/{id}/health
# 获取节点健康统计
GET /api/nodes/{id}/health/stats
# 获取实例列表
GET /api/instances
# 创建实例
POST /api/instances
# 停止实例
DELETE /api/instances/{id}
./test-integration.sh
cargo test
cargo tarpaulin
# 构建镜像
docker build -t easytier-uptime .
# 运行容器
docker run -d -p 8080:8080 easytier-uptime
构建后端
cargo build --release
构建前端
cd frontend
npm install
npm run build
cd ..
配置环境
cp .env.production .env
# 编辑 .env 文件
启动服务
./start-prod.sh
logs/backend.loglogs/frontend.logtest-results/系统提供以下健康检查端点:
/health - 基本健康检查/api/health/stats - 健康统计信息/api/health/scheduler/status - 调度器状态后端启动失败
logs/backend.log前端连接失败
健康检查失败
数据库优化
前端优化
网络优化
MIT License
如有问题或建议,请提交 Issue 或联系开发团队。