这些机器学习带来的运维变革,你都了解了吗?

当下,人工智能技术逐渐渗透到了各个领域,人们对大数据、机器学习已经不再感到新奇,这已经很好的预示了传统向智能过渡的必然趋势,从根本上改变了许多陈旧的业务模式、技术架构以及方法论。

作为支撑IT 发展的运维,海量增长的智能业务,更带来了前所未有的压力和挑战。如果此前我们提出的传统传统的运维方式基本都是依赖人工和静态规则,它们已然无法适应动态变化的复杂场景。而人工智则让运维具备机器学习和算法的能力,在动态变化复杂条件下,做出高效准确的决策判断。因此,我们需要具有从“基于专家经验”到“基于机器学习”的观念转变,让 Ops AI 化(这个 AI 指的是 Algorithmic IT),让运维更加智能高效化。

而作为 IT 运维团队,我们真正关注的是机器学习如何提供实时事件的管理能力,从而帮助较大规模的企业提高服务质量。这其中的关键点就在于在用户发现问题之前提早探测异常,进而减少生产事故与中断带来的负面影响。

在 wiki 中机器学习的定义如下:

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

也就是说,随着运维事件(运维数据)的不断产生,处理结果的积累会带来企业服务质量的提升。

普遍认为最理想的运维行为模型,一方面这种行为依据经验进行判断,完成我们日常的工步骤。同时它又可以动态改变事件发生的条件,反过来影响事件发生的概率。举个栗子, 机器学习可以记录用户给定的告警及告警集群的活动,并相应地动态调整告警规则。这不同于传统管理工具的方式,只依赖人为预先给出的规则,来查找事件分析原因。而机器学习则可以存在反馈机制,它能利用数据不断自我创建和更新行为,而不是使用静态的行为去寻找特定的结果。

并且,机器学习也会不断的更新他的学习能力,不仅可以探索事件隐含的特性,并依据此将相关的事件聚类,总结出特征向量。(即也可以对事件之间、事件与运维结果之间的隐性关联进行总结和分析。)也就是说,机器学习可以从日常的异常中,去寻找与某项运维行为或某项事件相关的联系,从而帮助人们分析出潜在的根本原因。

那么在运维中应用机器学习的前提需要哪些因素呢?

1、运维数据

在运维过程中,会产生海量的运维数据,这其中有些可用于描述应用或者系统的运行状态、有些可用于标签、有些可用于进行经验反馈。这些巨量的、多维度的数据是机器学习建立行为模型的基础。

运维数据从来源和用途上可分为机器数据、传输数据、代理数据和人为数据。

机器数据:不难理解,机器数据是由应用或者 IT 系统自身产生,包括日志信息、监控数据等。这类数据的量最大、维度最广,它可以全面的描述应用、系统或集群的运行状况。

传输数据:在不同系统之间通过网络传输的数据,可能包含系统或者业务数据。

代理数据:由一些工具主动产生的数据,比如代码分析、系统测试数据等。这类数据一般是通过特定的方式产生,本身就带有一定的特征和标签性。

人为数据:人工产生的数据,比如系统操作日志、提的工单信息等。这类数据可以作为经验判断和标签的依据。

2、运维场景

机器学习的核心就是用一个预测模型和一堆原始数据来得到一些预测结果。而这个预测结果就是任务的预测值。

那么适用于机器学习的场景的运维领域有哪些呢?

1)净化最终事件

在 IT 运维中产生的成千上万的事件充满了噪音和冗余,单纯靠人工方式无法逐一进行排查。机器学习无疑可以自动化件过滤机制。大幅度降低事件的噪音,迅速从海量事件中抓取真实的事件向用户告警。

2)归类与根本原因分析

机器学习不仅可以按照预先定义的模型,迅速提取事件的特征,归类到不同的事件场景 中,而且还能给出相应的事件原因,或者按照原因进行分类告警,自动生成丰富的运维事件库,让运维人员能够最大化的了解事件的根本原因。

3)事件对齐

机器学习将事件归类到事件场景后,可以分析事件之间的关联、按照因果逻辑生成事件告警。这样运维人员看到的事件告警是经过处理的、具有逻辑关系和意义的结果信息。

4)类似事件的探测与处理

对于以往曾经发生过的事件告警,机器学习可以自动学习事件场景与处理策略。当类似事件再次发生时,机器学习可以将事件归类,并自动生成处理步骤,提供给运维人员。

5)机器学习分类

机器学习可以按照预先定义的模型,根据机器数据自动分类机器。这样运维人员可以针对不同的分类,做相应的分析与优化。

6)特征工程

在机器学习中,一个预测模型的好坏往往取决于特征工程。圈内常流行一种说法:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见特征工程在实际的机器学习中的重要性。某些时候,仍然可以采用非最优模型来训练数据,如果特征选择得好的话,依然会得到不错的结果。(特征工程:其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。)

3、预测模型

在有了运维数据和应用场景(确定业务问题)后,如何建立一个预测模型能尽量的拟合数据,从而使得目标函数最优化则成为了解决运维问题的关键。

一般情况下预测模型可以分成回归和分类两个子集。

回归:策略研究变量和自变量之间的关系,以便做出关于连续变量的预测,如通常我们在天气预报中应用对最高温度的预测。而在技术运维中,我们则可以通过建立回归模型来预测下一个点的监控值,并通过设置动态阈值的方法来对异常数据进行检测。

分类:与回归模型不同,分类的任务是分配离散的类标签给特定的观察对象作为预测的结果。在天气预报中的分类问题可能是对晴天、雨天或者雪天的预测。分类任务则是被分成两个主要的子类别:监督学习无监督学习

监督学习,用于构建分类模型的数据的类标签是已知的。例如,一个垃圾邮件过滤的数据集,它里面将包含垃圾邮件以及非垃圾邮件。在有监督的学习问题中,我们已经知道了训练集中的邮件要么是垃圾邮件,要么是非垃圾邮件。我们将会使用这些信息来训练我们的模型,以对新的邮件进行分类。在运维的场景中,我们可以通过建立有监督的分类模型,来消除告警噪音。

而与此相反,无监督学习任务处理未标记的实例,并且这些类必须从非结构化数据集中推断出来。通常情况下,无监督学习采用聚类技术,使用基于一定的相似性(或距离)的度量方式来将无标记的样本进行分组。例如在技术运维中,我们可以对机器进行聚类,便于运维人员找出它们彼此之间的关联,做相应的分析与优化。

来源:互联网

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207A0KUJR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券