AiOps 的宗旨
-
将传统的值班方式改为二十四小时不间断的异常监控和异常处理。
-
将个人的运维经验转变成集体智慧。
-
传统的运维方式往往是处理故障,属于故障发生之后再去止血补救,而智能运维很大程度上赋能了主动运维这个概念,在故障出现前通过一些前兆特征加以规避,或者使故障范围最小化。
AiOps 能给 TiDB 带来什么?
AiOps 通过融合大数据与机器学习算法,将运维数据(Metrics, Logs, Traces)转化为深入的洞察和自动化的行动。它为 TiDB 运维带来了以下几个核心价值。
异常检测与预警:从“被动救火”到“主动预警”
- 传统方式:我们之前的运维团队都是采用设置静态阈值的方式进行告警,如 CPU 使用率 > 85%,这种方式灵活性差,容易漏报或误报。
- AiOps 方式:那现在我们可以利用机器学习算法(如孤立森林、SVM、LSTM),学习每个指标在不同时间段(工作日/周末)的历史正常模式。它能发现人眼难以察觉的微小异常波动,并在潜在问题影响业务前发出预警,实现“治未病”。
如下图所示,这是一个案例的分析:
| 维度 | 静态阈值 | AIops |
|---|---|---|
| 响应速度 | 事后报警(已发生) | 事前预警(提前30min+) |
| 准确率 | 40-60% | 85-92% |
| 运维效率 | 日均处理50+无效告警 | 精准告警(<5条/天) |
| 自适应能力 | 需手动调整阈值 | 自动适应业务变化 |
| 典型工具 | Nagios/Zabbix | Prometheus+ML4logs |
根因分析:从“大海捞针”到“一键定位”
-
当问题发生时,系统会采集到数百个关联指标的变化。AiOps 通过相关性分析、拓扑关系图和有向无环图(DAG)等技术,自动分析异常事件之间的因果关系,快速将根本原因定位到具体的组件、机器甚至某个 SQL 语句,极大缩短平均恢复时间(MTTR)。
-
算法选型建议
-
初级:Pearson相关系数 + 拓扑传播
-
中级:格兰杰因果检验 + PageRank
-
高级:贝叶斯结构学习 + 深度因果发现
-
-
某电商平台实施效果
| KPI | 改进前 | 改进后 | 提升幅度 |
|---|---|---|---|
| MTTR | 113min | 16min | 85%↓ |
| 误报率 | 68% | 12% | 82%↓ |
| 宕机损失 | 23万/次 | 3万/次 | 87%↓ |
智能容量规划:从“经验猜测”到“数据驱动”
-
通过对历史负载数据(QPS、数据量、CPU/内存/磁盘使用率)进行时间序列分析,AiOps 可以预测未来一段时间(如“618”、“双11”)的业务增长和资源需求。它可以给出科学的扩缩容建议,例如:“根据预测,下月初数据库存储将达到瓶颈,建议提前扩容两个 TiKV 节点”,实现成本与性能的最优平衡。
-
实施效益对比
维度 人工规划 AIops智能规划 预测周期 通常<1周 可预测3-6个月 准确率 ±40%误差 ±15%误差(置信区间95%) 资源利用率 普遍<50% 稳定在65-75% 应急扩容频率 大促期间平均3次 趋近于0 典型成本节约 - 基础设施支出降低35%
智能调优与自治:从“手动执行”到“自动优化”
- 我们大胆推测一番,系统可以自动分析慢查询日志,提出索引优化建议,甚至自动创建索引。它可以基于负载模式,自动调整 TiDB 的参数配置。在未来,我们甚至可以期待数据库实现完全的自愈能力,如自动故障转移、自动流量调度等。
















