增加API Key
This commit is contained in:
113
openclaw/monitor/构建全能监控栈 (Glances + InfluxDB + Grafana).md
Normal file
113
openclaw/monitor/构建全能监控栈 (Glances + InfluxDB + Grafana).md
Normal file
@@ -0,0 +1,113 @@
|
||||
#glances #influxdb #grafana
|
||||
# 📝 技术笔记:构建全能监控栈 (Glances + InfluxDB + Grafana)
|
||||
|
||||
## 1. 为什么需要这个组合?
|
||||
|
||||
- **Glances (采集层)**:轻量级、全能。负责抓取 M4 芯片负载、GPU 状态、温度以及 Docker 容器指标。
|
||||
- **InfluxDB (存储层)**:时序数据库。专门存储随时间变化的数据,方便回顾昨天或上周的服务器波动。
|
||||
- **Grafana (展示层)**:可视化门面。将枯燥的数字变成直观的曲线图,并提供多维度报警功能。
|
||||
|
||||
---
|
||||
|
||||
## 2. Docker Compose 一键部署脚本
|
||||
|
||||
在您的服务器上创建目录 `~/monitor`,新建 `docker-compose.yml`:
|
||||
|
||||
YAML
|
||||
|
||||
```
|
||||
services:
|
||||
# 1. 数据库:存储历史监控数据
|
||||
influxdb:
|
||||
image: influxdb:2.7
|
||||
container_name: monitor-db
|
||||
restart: always
|
||||
ports:
|
||||
- "8086:8086"
|
||||
volumes:
|
||||
- ./influxdb_data:/var/lib/influxdb2
|
||||
environment:
|
||||
- DOCKER_INFLUXDB_INIT_MODE=setup
|
||||
- DOCKER_INFLUXDB_INIT_USERNAME=admin
|
||||
- DOCKER_INFLUXDB_INIT_PASSWORD=your_password_here # 请修改密码
|
||||
- DOCKER_INFLUXDB_INIT_ORG=my-org
|
||||
- DOCKER_INFLUXDB_INIT_BUCKET=glances_metrics
|
||||
|
||||
# 2. 采集器:抓取宿主机和 Docker 指标
|
||||
glances:
|
||||
image: nicolargo/glances:latest
|
||||
container_name: monitor-collector
|
||||
restart: always
|
||||
pid: host
|
||||
network_mode: host # 使用 host 模式以获取最精准的硬件指标
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
# 关键:配置导出到 InfluxDB v2
|
||||
- GLANCES_OPT=-w --export influxdb2
|
||||
depends_on:
|
||||
- influxdb
|
||||
|
||||
# 3. 可视化:精美仪表盘
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: monitor-ui
|
||||
restart: always
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- ./grafana_data:/var/lib/grafana
|
||||
depends_on:
|
||||
- influxdb
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 核心配置步骤
|
||||
|
||||
### 第一步:启动容器
|
||||
|
||||
Bash
|
||||
|
||||
```
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 第二步:获取 InfluxDB Token
|
||||
|
||||
1. 浏览器访问 `http://服务器IP:8086`。
|
||||
2. 使用配置文件中的用户名密码登录。
|
||||
3. 进入 **Load Data -> API Tokens**,生成一个全权限的 Token。
|
||||
4. **重要**:将此 Token 配置到 Glances 的导出设置中(如果使用环境变量,请更新 `docker-compose.yml` 中的 InfluxDB 相关配置)。
|
||||
|
||||
### 第三步:配置 Grafana 展示
|
||||
|
||||
1. 浏览器访问 `http://服务器IP:3000` (默认 admin/admin)。
|
||||
|
||||
2. **添加数据源**:选择 **InfluxDB**。
|
||||
|
||||
- Query Language 选择 **Flux**。
|
||||
- URL 填写 `http://localhost:8086` (或容器名 `http://monitor-db:8086`)。
|
||||
- 填入 Organization, Token 和 Bucket 名。
|
||||
3. **导入现成模板**:
|
||||
- 点击 **Dashboards -> New -> Import**。
|
||||
- 输入模板 ID:`13544` (Glances 官方模板) 或 `2387`。
|
||||
- 瞬间即可看到美观的 CPU、内存、Docker 容器监控大屏。
|
||||
|
||||
---
|
||||
|
||||
## 4. AI Agent 场景应用
|
||||
|
||||
### 场景 B:OpenClaw Agent 深度对接
|
||||
除了看图表,你可以让 OpenClaw Agent 通过查询 InfluxDB 的 API 来获取“历史洞察”:
|
||||
- **Agent 指令**:“查询过去 3 小时 M4 GPU 的平均负载,如果超过 70%,请告诉我。”
|
||||
- **业务逻辑**:这能帮你优化 AI 视频剪辑任务的排程。
|
||||
|
||||
---
|
||||
## 💡 维护小贴士
|
||||
|
||||
- **磁盘清理**:InfluxDB 会产生历史数据。建议在 InfluxDB 设置中配置 **Retention Policy (保留策略)**,例如只保留最近 30 天的数据,防止撑爆磁盘。
|
||||
- **安全保护**:既然有 Web 界面,请务必在 Grafana 和 InfluxDB 中设置复杂的强密码。
|
||||
---
|
||||
|
||||
**提示**:如果你在配置 InfluxDB 2.x 的 Flux 查询语句时遇到困难,可以随时问我,我可以帮你写一段用于 OpenClaw 的查询脚本!
|
||||
Reference in New Issue
Block a user