『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维

孔再华中国民生银行信息科技部数据库专家
IBM认证高级DBA、SAP认证BASIS , 具有丰富的数据库环境问题诊断和性能调优的经验;曾任职于IBM研发中心 , 为客户提供数据库支持 。 尤其是在数据库同城双活、集群、多分区、分布式等项目咨询和实施上具有丰富经验;目前致力于数据库同城双活架构建设 , 数据库分布式架构建设和数据库智能运维(AIOps)方向 。 对于如何将AI技术运用在运维领域有浓厚的兴趣和创新热情 。今天我要分享的内容 , 有这样几个方面 , 首先讨论在数据库运维中存在什么痛点 , 其次是我们为什么要做智能运维 , 智能运维是什么 , 我们在民生做得怎么样 。 然后会大概说说智能运维中的智能算法 , 最后是案例分享 , 也就是我们上了这套智能运维系统后到底有什么效果 , 在使用过程中帮助我们达成了什么样的目标 。
『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维
文章图片
一、运维痛点
首先聊聊运维的痛点 。 我是银行的从业者 , 我们行内对数据库运维的要求 , 我总结为两点 。 一点是银行里对数据库运维的要求是非常高的 , 我们自己银行内部有个“双十”红线的要求 , 就是说数据库如果出现问题 , 那么需要DBA在十分种内分析问题 , 十分钟解决问题 。 如果在十分种内没有分析完成 , 那么先暂停分析 , 救急的工作一定要开始做 , 争取在十分钟内把救急的工作做好 。 所以我们平时在运维过程中时间要求还是很紧张的 。 尤其是没搞清楚原因的情况下 , 救急的操作可能最终没有解决问题 。
『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维
文章图片
另外一点是我们在运维过程中 , 会产生很多有价值的数据 , 我们对于机房所有的产品 , 无论是系统、中间件、数据库都会监控很多东西 。 即便是这样 , 我们现在监控的数据还是比较片面的 , 不是说没有更详尽的运维数据 , 而是我们没有办法把这些把数据用起来 , 现在我们只是人工挑选了一些比较核心的指标 , 做了一些监控告警 。
『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维
文章图片
首先谈谈“双十”红线 。 如果数据库遇到bug , 性能不好的SQL , 我们大概会从运维系统的交易响应率 , 数据库的一些告警中知道现在数据库运行缓慢或者出现故障 。 这时候我们要赶紧去收集数据 , 查看日志 , 分析当前遇到问题是什么 。
如果我们是很有经验的DBA , 那我们可能会基于现有的数据和现象 , 能够知道说可能命中了个什么样的问题 , 如果以前有相关经验的话可能就能很快解决 。 但如果说我遇到这个问题是个新问题 , 那之前那种解决方式我可能就做不到 。
做不到的情况下 , 就只能做应急处理 , 把数据库的应用杀一杀 , 重启一下数据集 , 能怎么做就怎么做 , 通过所谓万能的重启大法 , 先把问题试着解决 , 后面再复盘 , 再把数据上收 , 发送给对应的数据库厂商来帮我们分析问题 。
这可能就是DBA平时的工作 , 收集数据 , 分析问题 , 应急处理 , 问题复盘 。 但是在这个过程中会有很多欠缺的地方 , 比如一开始收集的东西不够多 , 就会导致问题复盘的时候很难重现 , 这块其实有很多痛点 。
『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维
文章图片
引申来说 , 除了我们现有对故障的处理的痛点 , 还有问题就是我们现在拿到这些数据是不是没有什么用?比说我们从数据库这一层面可以收集成百上千个指标 , 那这些指标都是很奇怪的指标 , 你要是不查资料你根本不知道这个指标是干嘛的 。 对我来讲也一样 , 我其实做数据库运维有很长时间了 , 指标也不是全部都清楚 , 我遇到后还是要去查一查看一看 。


推荐阅读