数据库健康监控,支持健康检查、异常检测、容量预测、高级容量预测、趋势分析、基线对比。 智能数据源选择: - Oracle 数据库自动使用 Zabbix 监控 - MySQL 数据库优先使用直连,其次使用 Prometheus - 支持 Z 系列资产组(如 Z18, Z5)自动识别 使用场景: - 用户说"检查健康...
---
name: db-monitor
description: |
数据库健康监控,支持健康检查、异常检测、容量预测、高级容量预测、趋势分析、基线对比。
智能数据源选择:
- Oracle 数据库自动使用 Zabbix 监控
- MySQL 数据库优先使用直连,其次使用 Prometheus
- 支持 Z 系列资产组(如 Z18, Z5)自动识别
使用场景:
- 用户说"检查健康" -> 执行 health
- 用户说"有异常吗" -> 执行 anomalies
- 用户说"容量够吗" -> 执行 capacity
- 用户说"采集指标" -> 执行 collect
- 用户说"看历史" -> 执行 history
- 用户说"高级容量预测" -> 执行 capacity-advanced
- 用户说"趋势分析" -> 执行 trend
- 用户说"基线对比" -> 执行 compare
用法:
- dbskiter --output-mode=ai --database=<name> monitor health
- dbskiter --output-mode=ai --database=<name> monitor anomalies
- dbskiter --output-mode=ai --database=<name> monitor capacity --resource=disk
- dbskiter --output-mode=ai --database=<name> monitor collect
- dbskiter --output-mode=ai --database=<name> monitor history <metric>
- dbskiter --output-mode=ai --database=<name> monitor capacity-advanced --resource=disk
- dbskiter --output-mode=ai --database=<name> monitor trend --metric=cpu_usage
- dbskiter --output-mode=ai --database=<name> monitor compare --metric=qps --value=1250 --baseline=2026-04-01
---
# 数据库监控 Skill
## 智能数据源选择
系统会根据 `--database` 参数自动选择最优数据源:
| 数据库类型 | 识别规则 | 数据源优先级 |
|-----------|---------|-------------|
| Oracle | Z 系列资产组(Z18, Z5等)或 KF 系列 | Zabbix |
| MySQL | 其他名称 | 直连数据库 > Prometheus |
**示例**:**示例**:
```bash
# Oracle 数据库(自动使用 Zabbix)
dbskiter --output-mode=ai --database=Z18 monitor health
dbskiter --output-mode=ai --database=Z5 monitor capacity --resource=disk
# MySQL 数据库(优先直连,其次 Prometheus)
dbskiter --output-mode=ai --database=jump monitor health
dbskiter --output-mode=ai --database=prod monitor anomalies
```
## 何时使用
当用户提到以下关键词时,使用此skill:
| 用户说法 | 执行命令 | 说明 |
|---------|---------|------|
| "检查健康" | `dbskiter --output-mode=ai --database=<name> monitor health` | 整体健康评分 |
| "有异常吗" | `dbskiter --output-mode=ai --database=<name> monitor anomalies` | 检测异常指标 |
| "容量够吗" | `dbskiter --output-mode=ai --database=<name> monitor capacity` | 容量预测 |
| "采集数据" | `dbskiter --output-mode=ai --database=<name> monitor collect` | 采集当前指标 |
| "看历史" | `dbskiter --output-mode=ai --database=<name> monitor history <指标>` | 查看指标历史 |
| "高级容量预测" | `dbskiter --output-mode=ai --database=<name> monitor capacity-advanced` | 多算法容量预测 |
| "趋势分析" | `dbskiter --output-mode=ai --database=<name> monitor trend` | 指标趋势分析 |
| "基线对比" | `dbskiter --output-mode=ai --database=<name> monitor compare` | 与历史基线对比 |
## 核心命令(8个)
### 高级功能(新增)
#### 6. 高级容量预测
```bash
dbskiter --output-mode=ai --database=<数据库名> monitor capacity-advanced --resource=disk
```
**特点**:
- 自动选择最佳预测算法(线性回归、移动平均、指数平滑、多项式拟合)
- 提供置信度评估
- 更精确的预测结果
**输出**:
```json
{
"algorithm": "linear_regression",
"confidence": 0.85,
"predictions": {
"7d": 68.5,
"30d": 75.2,
"90d": 88.5
},
"days_to_threshold": 45,
"recommendation": "建议在45天内扩容"
}
```
#### 7. 趋势分析
```bash
dbskiter --output-mode=ai --database=<数据库名> monitor trend --metric=cpu_usage --days=7
```
**适用场景**:
- 分析指标变化趋势
- 对比当前值与历史平均值
- 判断性能是改善还是恶化
**输出**:
```json
{
"trend_direction": "degrading",
"current_value": 75.5,
"historical_avg": 65.2,
"change_percent": 15.8,
"recommendation": "CPU使用率呈恶化趋势,建议关注"
}
```
#### 8. 基线对比
```bash
dbskiter --output-mode=ai --database=<数据库名> monitor compare --metric=qps --value=1250 --baseline=2026-04-01
```
**适用场景**:
- 对比当前性能与历史基线
- 评估优化效果
- 检测性能退化
**输出**:
```json
{
"current_value": 1250,
"baseline_value": 1000,
"change_percent": 25.0,
"severity": "normal",
"message": "QPS较基线上升25.0%,在正常范围内"
}
```
#### 9. 性能退化检测
```bash
dbskiter --output-mode=ai --database=<数据库名> monitor degradation
```
**适用场景**:
- 自动检测所有性能退化指标
- 与db-diagnose性能快照集成
**输出**:
```json
{
"degradation_count": 2,
"degradations": [
{
"metric_type": "cpu_usage",
"change_percent": 30.5,
"severity": "warning"
}
]
}
```
### 1. 健康检查
```bash
dbskiter --database=<数据库名> monitor health
```
**输出**:总体评分、各组件状态、关键指标
**评分标准**:
- 90-100:优秀 [OK]
- 70-89:良好 [WARN]
- <70:需要关注 [CRITICAL]
### 2. 异常检测
```bash
dbskiter --database=<数据库名> monitor anomalies
```
**默认行为**:检测所有指标的异常
**输出**:异常列表、严重程度、建议
### 3. 容量预测
```bash
dbskiter --database=<数据库名> monitor capacity --resource=disk
```
**可选资源**:
- `disk`:磁盘空间
- `memory`:内存使用
- `connections`:连接数
**输出**:当前使用率、预测值、剩余天数、风险等级
### 4. 采集指标
```bash
dbskiter --database=<数据库名> monitor collect
```
**默认行为**:采集所有核心指标
**可选参数**:
- `--metrics=qps,connections`:只采集指定指标
### 5. 查看历史
```bash
dbskiter --database=<数据库名> monitor history connections_active --hours=24
```
**输出**:历史指标数据、趋势图表
## AI决策流程
### 场景1:用户说"检查数据库健康"
```
步骤1:执行 dbskiter --database=<name> monitor health
步骤2:解读健康评分和状态
步骤3:如果有问题,执行 dbskiter --database=<name> monitor anomalies
步骤4:总结给用户
```
### 场景2:用户说"磁盘还够用吗"
```
步骤1:执行 dbskiter --database=<name> monitor capacity --resource=disk
步骤2:解读当前使用率和预测
步骤3:如果接近阈值,给出扩容建议
```
### 场景3:用户说"看看有没有异常"
```
步骤1:执行 dbskiter --database=<name> monitor anomalies
步骤2:列出发现的异常
步骤3:对严重异常,建议进一步诊断
```
don't have the plugin yet? install it then click "run inline in claude" again.