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