79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
# 数据可视化展示大屏
|
|
|
|
多源 Prometheus 服务器监控展示大屏,支持对接多个 Prometheus 实例,实时展示所有服务器的 CPU、内存、磁盘、网络等关键指标。
|
|
|
|
## 功能特性
|
|
|
|
- 🔌 **多数据源管理** - MySQL 存储配置,支持对接多个 Prometheus 实例
|
|
- 📊 **NodeExporter 数据查询** - 自动聚合所有 Prometheus 中的 NodeExporter 数据
|
|
- 🌐 **网络流量统计** - 24 小时网络流量趋势图,总流量统计
|
|
- ⚡ **实时带宽监控** - 所有服务器网络带宽求和,实时显示
|
|
- 💻 **资源使用概览** - CPU、内存、磁盘的总使用率和详细统计
|
|
- 🖥️ **服务器列表** - 所有服务器的详细指标一览表
|
|
|
|
## 快速开始
|
|
|
|
### 1. 环境要求
|
|
|
|
- Node.js >= 16
|
|
- MySQL >= 5.7
|
|
|
|
### 2. 配置
|
|
|
|
复制环境变量文件并修改:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
编辑 `.env` 文件,配置 MySQL 连接信息:
|
|
|
|
```env
|
|
MYSQL_HOST=localhost
|
|
MYSQL_PORT=3306
|
|
MYSQL_USER=root
|
|
MYSQL_PASSWORD=your_password
|
|
MYSQL_DATABASE=display_wall
|
|
PORT=3000
|
|
```
|
|
|
|
### 3. 初始化数据库
|
|
|
|
```bash
|
|
npm run init-db
|
|
```
|
|
|
|
### 4. 安装依赖并启动
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
访问 `http://localhost:3000` 即可看到展示大屏。
|
|
|
|
### 5. 配置 Prometheus 数据源
|
|
|
|
点击右上角的 ⚙️ 按钮,添加你的 Prometheus 地址(如 `http://prometheus.example.com:9090`)。
|
|
|
|
## 技术栈
|
|
|
|
- **后端**: Node.js + Express
|
|
- **数据库**: MySQL (mysql2)
|
|
- **数据源**: Prometheus HTTP API
|
|
- **前端**: 原生 HTML/CSS/JavaScript
|
|
- **图表**: 自定义 Canvas 渲染
|
|
|
|
## API 接口
|
|
|
|
| 方法 | 路径 | 说明 |
|
|
|------|------|------|
|
|
| GET | `/api/sources` | 获取所有数据源 |
|
|
| POST | `/api/sources` | 添加数据源 |
|
|
| PUT | `/api/sources/:id` | 更新数据源 |
|
|
| DELETE | `/api/sources/:id` | 删除数据源 |
|
|
| POST | `/api/sources/test` | 测试数据源连接 |
|
|
| GET | `/api/metrics/overview` | 获取聚合指标概览 |
|
|
| GET | `/api/metrics/network-history` | 获取24h网络流量历史 |
|
|
| GET | `/api/metrics/cpu-history` | 获取CPU使用率历史 |
|