加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

数据库运维的那些难题,我们用机器学习解决了

发布时间:2018-12-07 06:21:27 所属栏目:编程 来源:dbaplus社群
导读:作者先容 马博,安全科技数据库团队运维开拓工程师,参加了安全科技数据库规模的AIOps落地项目,首要包罗趋势猜测、非常检测、自动化运维平台、日记告警等方面,今朝致力于安全云上的数据库智能运维系统建树。 回首整个运维的成长史,从最开始的体系打点到
副问题[/!--empirenews.page--]

作者先容

马博,安全科技数据库团队运维开拓工程师,参加了安全科技数据库规模的AIOps落地项目,首要包罗趋势猜测、非常检测、自动化运维平台、日记告警等方面,今朝致力于安全云上的数据库智能运维系统建树。

回首整个运维的成长史,从最开始的体系打点到基本剧本运维,再到自动化运维,最后成长到了智能运维。颠末这些年的成长,运维职员的事变内容产生了雷霆万钧的变革:

十几年前,我们不知道妨碍会呈此刻哪,也不知道什么时辰会呈现妨碍,只有在妨碍呈现的时辰才气去查找根因并办理妨碍,这是一种很被动的要领。

到其后大局限的剧本引入,我们处理赏罚题目的方法变得越发科学了,速率也差能人意,但照旧没有改变这一种被动办理题目的本质征象;有了先前的履历,许多公司引入了监控体系,成长了本身的自动化运维平台,旨在题目产生可能即将产生时可以或许自动地去办理题目,这种方法刚打破了之前全部的“被动运维”的本质,可以或许防患于未然,将妨碍抹杀在摇篮中。但与之而来的却是大量的告警及海量的监控数据,怎样越发高效地办理妨碍成了我们此刻必需办理的困难。

人工智能期间的光降刚好办理了上面我们所面对的题目,而AIOps就是但愿基于已有的运维数据(日记、监控信息、应用信息等),并通过呆板进修的方法来进一步办理自动化运维没步伐办理的题目。

我们今朝正在起劲敦促数据库运维从自动化到智能化的转变。众所周知,数据发掘和呆板进修离不开海量的数据作为基本,而安全科技通过这几年的自动化运维的应用,已经蕴蓄了海量多维的数据库机能数据、日记数据和主机数据。

操作这些数据,我们可以通过呆板进修等要领在时刻序列非常检测、根因说明、邮件告警收敛、容量猜测等多个应用场景中获取我们想要的信息,从而举办妨碍的自动发明、自动诊断和自动办理。

一、时刻序列非常检测

时序数据是AIOps的基本数据,有着局限大、种类多、需求多样的特点。在自动化运维阶段,我们所回收的大多是恒定阈值的要领。

这种要领简朴易实现,可是弱点也显而易见:它不足机动,发明妨碍也不足实时,无法满意此刻的告警需求。如下图所示,传统的阈值告警会忽略掉两个颠簸的非常:

数据库运维的那些困难,我们用呆板进修办理了

恒定阈值要领

动态阈值的要领在此时应运而生,传统的动态阈值的要领回收了基于同比和环比的统计要领,这种要领表明性强,易于实现,可是机动性较差,受节沐日影响较大(如下图中,9月24号为中秋节,流量和上周对比降落明明,此时环比和同比的要领不合用),发明题目也不足实时。

尚有很多公司回收带权移动均匀的要领来做动态阈值,他们以为在统一个维度下,某一个点的数值肯定和它之前一段时刻的数据有关,如以下公式所示:

数据库运维的那些困难,我们用呆板进修办理了

9/18-9/25指标数据图

数据库运维的那些困难,我们用呆板进修办理了

我们今朝正将呆板进修应用在时序数据非常检测中,和上述要领对比,呆板进修的要领更为精确,本钱也更大。

时刻序列非常检测本质上也可以看做“正常”和“非常”的二分类题目,通过将汗青的监控数据打上标签,再将有监视和无监视算法团结成立模子,可以判定当前的时刻序列是否是正常的。

数据库运维的那些困难,我们用呆板进修办理了

二、根因说明

大大都环境下,因为监控指标的相干联性,假如某个指标非常了,许多相干指标也会非常。假犹如时对全部的告警指标举办说明和处理赏罚,会挥霍很多人力。为了办理这个题目,我们必要举办根因说明来举办针对性处理赏罚。

凡是我们可以通过下列3种要领对数据举办根因说明:

  • 相干度指标获取,找到和非常指标在特按时刻段内相似的指标。

  • 在大量的样本中,找出常常一路呈现的非常指标(该题目就转换成了频仍序列发掘题目),实现要领有关联法则、APRIORI、FP_GROTH等。

  • 操作决定树的强可表明性,对正负样本举办分类,然后通过非常指标的分类树途径,找到频仍的非常指标集。

以Oracle数据库的DB_TIME偏高为例:

  • 第一种要领找出当前时刻段内与DB_TIME指标有相似曲线的指标,并将最相似指标TOP N作为根因;

  • 第二种要领例是在汗青数据中,当DB_TIME非常时,把其他非常的指标构成多少个项集,再从这些项集内里操作关联法则找出强相干组合,则这些组合中的其他指标被视为根因;

  • 第三种要领,则是在汗青数据中按照DB_TIME是否非常,将汗青数据分为正、负样本,实习决定示范子获得最终的根因。

数据库运维的那些困难,我们用呆板进修办理了

根因说明要领一

数据库运维的那些困难,我们用呆板进修办理了

根因说明要领二

数据库运维的那些困难,我们用呆板进修办理了

根因说明要领三

三、告警收敛

当监控营业成长到必然局限时,逐日收到的告警邮件数会呈指数型增添,尤其是一些监控频率较高的监控项呈现题目时,这种环境出格明明。

为了办理这一题目,在最开始,我们设定了告警频率,让统一种告警在一段时刻内只呈现一次。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读