Skip to content

Kky6/server-dashboard

Repository files navigation

Server Dashboard Pro

Version Python License

企业级服务器管理系统 | 实时监控 | 炫酷界面

功能特性快速开始截图预览API文档


功能特性

📊 系统监控

  • CPU 监控 - 使用率、核心数、负载均衡
  • 内存监控 - 使用率、已用/总量、可用内存
  • 磁盘监控 - 使用率、IO 速度、多分区支持
  • 网络监控 - 上传/下载速度、累计流量

📈 实时图表

  • CPU & 内存 60 秒趋势图
  • 网络流量历史图表
  • Chart.js 平滑动画

🖥️ OpenClaw 集成

  • Gateway 运行状态
  • 一键启动/停止/重启
  • 实时日志查看
  • 内存/CPU 占用监控

📋 进程管理

  • Top 20 进程实时更新
  • CPU/内存排序
  • 进程状态、用户信息

🔧 系统信息

  • CPU 型号、核心/线程数
  • GPU 信息
  • 内存总量、Swap 使用
  • 操作系统、架构信息

🔒 安全状态

  • 防火墙状态
  • SSH 服务状态

⏰ 定时任务

  • Cron jobs 列表
  • 运行状态监控

快速开始

环境要求

  • Python 3.11+
  • Poetry (包管理器)

安装

# 克隆或进入项目目录
cd ~/projects/server-dashboard

# 安装依赖 (自动通过 poetry)
poetry install

启动

# 一键启动
./start.sh start

# 查看状态
./start.sh status

# 停止服务
./start.sh stop

访问


命令说明

命令 说明
./start.sh start 启动服务
./start.sh stop 停止服务
./start.sh restart 重启服务
./start.sh status 查看运行状态
./start.sh logs 实时查看日志
./start.sh install 安装为系统服务(开机自启)
./start.sh uninstall 卸载系统服务

技术栈

类别 技术
后端 FastAPI, WebSocket, psutil, Pydantic
前端 Vue 3, TailwindCSS, Chart.js
包管理 Poetry
实时通信 WebSocket

项目结构

server-dashboard/
├── backend/
│   └── main.py          # FastAPI 后端
├── frontend/
│   └── index.html       # Vue 3 前端
├── start.sh             # 一键启动脚本
├── pyproject.toml       # Poetry 配置
├── README.md            # 本文档
└── ai.openclaw.server-dashboard.plist  # macOS 服务配置

API 文档

REST API

端点 方法 说明
/ GET 前端页面
/health GET 健康检查
/api/system GET 系统状态
/api/openclaw GET OpenClaw 状态
/api/processes GET 进程列表
/api/disks GET 磁盘分区
/api/network GET 网络接口
/api/info GET 系统硬件信息
/api/docker GET Docker 容器
/api/cron GET 定时任务
/api/security GET 安全状态
/api/all GET 所有数据
/api/openclaw/start POST 启动 OpenClaw
/api/openclaw/stop POST 停止 OpenClaw
/api/openclaw/restart POST 重启 OpenClaw
/api/openclaw/logs GET OpenClaw 日志

WebSocket

端点 说明
/ws 实时数据推送(每秒更新)

WebSocket 数据格式

{
  "system": { "cpu_percent": 25.5, "memory_percent": 60.2, ... },
  "openclaw": { "running": true, "pid": 12345, ... },
  "processes": [...],
  "disks": [...],
  "network": [...],
  "info": { "cpu_model": "Apple M1", ... },
  "history": { "cpu": [...], "memory": [...] }
}

部署

macOS (LaunchAgent)

# 安装为系统服务
./start.sh install

# 管理服务
launchctl load ~/Library/LaunchAgents/ai.openclaw.server-dashboard.plist   # 启动
launchctl unload ~/Library/LaunchAgents/ai.openclaw.server-dashboard.plist # 停止

Linux (systemd)

# 复制服务文件
sudo cp server-dashboard.service /etc/systemd/system/

# 启用并启动
sudo systemctl enable server-dashboard
sudo systemctl start server-dashboard

Docker (可选)

# 构建镜像
docker build -t server-dashboard .

# 运行容器
docker run -d -p 8000:8000 --name dashboard server-dashboard

Tailscale 远程访问

  1. 确保已安装并登录 Tailscale
  2. 获取 Tailscale IP: tailscale ip
  3. 从其他设备访问: http://<tailscale-ip>:8000

视觉特效

  • 🎨 玻璃态设计 - 毛玻璃卡片 + 发光边框
  • 📐 动态网格 - 无限循环移动的网格背景
  • 扫描线效果 - 科技感十足的扫描线动画
  • 📊 实时图表 - Chart.js 平滑动画
  • 🔄 可折叠面板 - 点击展开/收起各模块
  • 💫 脉冲动画 - 运行状态呼吸灯效果

环境变量

变量 默认值 说明
HOST 0.0.0.0 监听地址
PORT 8000 监听端口

故障排除

服务无法启动

# 检查端口占用
lsof -i :8000

# 查看日志
./start.sh logs

WebSocket 连接失败

  • 检查浏览器控制台 (F12 → Console)
  • 尝试强制刷新 (Cmd+Shift+RCtrl+Shift+R)
  • 检查防火墙设置

Tailscale 无法访问

# 检查 Tailscale 状态
tailscale status

# 获取 IP
tailscale ip

更新日志

v3.0.0

  • 全新 Vue 3 前端重构
  • 实时图表支持
  • 可折叠面板
  • 系统信息、安全状态、定时任务模块
  • 一键启动脚本
  • Tailscale 远程访问支持

v2.0.0

  • WebSocket 实时推送
  • 更多监控模块
  • 视觉升级

v1.0.0

  • 初始版本
  • 基础系统监控

贡献

欢迎提交 Issue 和 Pull Request!


License

MIT


Made with ❤️ by OpenClaw

About

Server Dashboard Pro - 服务器管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors