『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维( 二 )
那这么多指标 , 它们都是有自己真实的含义的 , 大家不用起来的话是真浪费 。 如果我们可以做到把所有的指标管理起来 , 而不仅仅只是管理我们关心的那十几个重要的指标 , 那我们对数据库的洞察力会更强 。
更进一步 , 如果我已经拿到这些数据了 , 那数据和数据之间是不是存在很多的关系呢?比如说我们经常有这样一个需求 , 我们遇到一个问题 , 说哪个东西不正常 , 你知不知道是什么东西引起的不正常呢?会不会是其他的什么事情?
我们平时在运维中分析告警时 , 总是想办法去找跟它相关的那些指标 , 或者是因素 。 这个相关性是可以从历史数据中找到的 , 如果我们已经把这个东西挖掘挖掘 , 并且形成一定的知识库 , 那真的遇到问题的时候 , 我们基于这个知识库立刻就能发现是什么情况 。 所以我们要挖掘运维数据的关系 , 并且利用起来 。
再继续下去 , 我们不仅仅是管理了所有的指标 , 还理清楚了这些指标之间的关系 , 下一步就要汇聚体现 。 比方说我这么多指标 , 密密麻麻上千个 , 到处发生异常对我来说没什么意义 , 我想知道整个行里面几百到上千个数据库 , 运行得怎么样 , 那我怎么样去观察它们?
那这个时候就需要这样一个全局的视图 , 相当于说我需要数据库的运行状态通过一些有价值的数据指标综合起来 , 描绘出一个数据库的画像 , 这样能够从很多数据库运维中立刻挑出来说哪些数据库运行的状态是属于哪一种类型中 , 也就是把握住这个数据库的运行特点 。
然后我们总结了几种类型 , 描述这个数据库很忙 , 它是一个事务性集中的数据库 , 它平时的业务量大但是数据量不多 , 它的io的承载能力或者各方面的属于中等 。 这就是一个数据库的画像 , 这个东西是我下一步会做的事情 。
二、智能运维
其实说了这么多 , 从我自己的理解来讲 , 智能运维不是靠人为定义哪些规则去发掘指标的关系 , 去看指标的含义 , 而是说我通过智能算法把指标采集起来 , 再把它们给训练和管理 , 然后智能算法自己从指标里挖关系 , 把关系提炼起来 , 最后通过智能算法把核心的指标挑出来 , 它们能展示我们自己想要的东西 。
那做这件事情就是为了节省DBA的人力 , 因为我是个DBA , 如果要自己手工做这些事 , 我相信是不可能发生的 。 但是自从机器学习比较流行之后 , 我也是看到了机器学习在数据分析上的各种能力 , 所以我觉得数据库这个层面 , 再加上机器学习 , 互相结合能迸发出来火花 , 完成一些我们之前做不到的事情 。
为了做这个智能运维 , 我们首先要对智能运维平台进行构思 , 比如说我这个平台到底要做什么事情 , 它要监管一些什么样的指标 , 我这里面有哪些计算的内容 , 这些内容我们应该怎么去依托现有的架构去实现 , 还有大数据量的挖掘和处理 。
文章图片
这里我大概提了几个比较重要的点 , 比如容器化 。 因为我觉得现在云化容器化比较流行 , 我的计算节点是无状态的 , 通过容器化的伸缩 , 很快完成我的目标 。 事实上也确实是这样 , 智能运维到现在 , 监管的对象越来越多 , 内容越来越扩展 , 数据量越来越大 , 训练和实时处理的要求越来越高 。 自从用了容器化 , 把我的平台扔进去 , 我要扩展这方面的性能就变得比较简单 。
【『产业气象站』聊聊我在用的异常检测核心算法,不谈宽泛的智能运维】然后关于机器学习的语言选择 。 其实也没有其他什么好选的 , python是现在最流行的机器学习语言 , 比较通用 , 算法包比较多 , 接口多 。 我自己作为初学者 , 来看应该用什么平台时 , python能解决很多开发上的工作 , 我能很快找到我想要的算法包 , 很快去把我想要的模型弄出来 , 研究它的效果 。 所以我最终还是选择python , 没有选其他高性能的语言 , 毕竟我这边开发能力资源有限 , 没有办法去砸很多人把python里的一些算法转化为java、c++高性能语言 。
推荐阅读
- 中国电子报智能传感器能占多大市场?,30万亿元智慧养老产业
- 长沙晚报打造“中国软件开发者产业中心城市”,长沙携手CSDN
- 数码狂人“云演唱会”会成为音乐产业新常态吗,5G+4K+VR+多视角技术融合
- 科技小时代Pro的“续航管理黑科技”,见微知著,聊聊一加8
- 浙视频来看这份最新报告,想了解浙江人工智能产业发展全景
- 手机侃侃谈但王健林手里还有个世界第一产业,一年能赚800亿,去年亏7百亿
- 国商园区国贸电商产业园助力企业参展网上广交会
- 新龙网持续拓展5G、8K、半导体等产业边界,康佳科技创新步伐加快
- 燕赵都市报电商产业迅猛发展,肃宁:多措并举
- 火星科技站点find X2:120Hz屏,游戏却没适配,客观聊聊优缺点,OPPO