IT运维平台研究(It 运维)

来源网友投稿 716 2023-01-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈IT运维平台研究,以及It 运维对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享IT运维平台研究的知识,其中也会对It 运维进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

IT运维平台算法背后的两大“神助攻”

智能运维(AIops)是目前 IT 运维领域最火热的词汇,全称是 Algorithmic IT operations platforms,正规翻译是『基于算法的 IT 运维平台』,直观可见算法是智能运维的核心要素之一。
本文主要谈算法对运维的作用,涉及异常检测和归因分析两方面,围绕运维系统Kale 中 skyline、Oculus 模块、Opprentice 系统、Granger causality(格兰杰因果关系)、FastDTW 算法等细节展开。

一、异常检测

异常检测,是运维工程师们最先可能接触的地方了。毕竟监控告警是所有运维工作的基础。设定告警阈值是一项耗时耗力的工作,需要运维人员在充分了解业务的前提下才能进行,还得考虑业务是不是平稳发展状态,否则一两周改动一次,运维工程师绝对是要发疯的。

如果能将这部分工作交给算法来解决,无疑是推翻一座大山。这件事情,机器学习当然可以做到。但是不用机器学习,基于数学统计的算法,同样可以,而且效果也不差。

异常检测之Skyline异常检测模块

2013年,Etsy 开源了一个内部的运维系统,叫 Kale。其中的 skyline 部分,就是做异常检测的模块, 它提供了 9 种异常检测算法 :

first_hour_average、

simple_stddev_from_moving_average、

stddev_from_moving_average、

mean_subtraction_cumulation、

least_squares

histogram_bins、

grubbs、

median_absolute_deviation、

Kolmogorov-Smirnov_test

简要的概括来说,这9种算法分为两类:

从正态分布入手:假设数据服从高斯分布,可以通过标准差来确定绝大多数数据点的区间;或者根据分布的直方图,落在过少直方里的数据就是异常;或者根据箱体图分析来避免造成长尾影响。

从样本校验入手:采用 Kolmogorov-Smirnov、Shapiro-Wilk、Lilliefor 等非参数校验方法。

这些都是统计学上的算法,而不是机器学习的事情。当然,Etsy 这个 Skyline 项目并不是异常检测的全部。

首先,这里只考虑了一个指标自己的状态,从纵向的时序角度做异常检测。而没有考虑业务的复杂性导致的横向异常。其次,提供了这么多种算法,到底一个指标在哪种算法下判断的更准?这又是一个很难判断的事情。

问题一: 实现上的抉择。同样的样本校验算法,可以用来对比一个指标的当前和历史情况,也可以用来对比多个指标里哪个跟别的指标不一样。

问题二: Skyline 其实自己采用了一种特别朴实和简单的办法来做补充——9 个算法每人一票,投票达到阈值就算数。至于这个阈值,一般算 6 或者 7 这样,即占到大多数即可。

异常检测之Opprentice系统

作为对比,面对相同的问题,百度 SRE 的智能运维是怎么处理的。在去年的 APMcon 上,百度工程师描述 Opprentice 系统的主要思想时,用了这么一张图:

Opprentice 系统的主体流程为:

KPI 数据经过各式 detector 计算得到每个点的诸多 feature;

通过专门的交互工具,由运维人员标记 KPI 数据的异常时间段;

采用随机森林算法做异常分类。

其中 detector 有14种异常检测算法,如下图:

我们可以看到其中很多算法在 Etsy 的 Skyline 里同样存在。不过,为避免给这么多算法调配参数,直接采用的办法是:每个参数的取值范围均等分一下——反正随机森林不要求什么特征工程。如,用 holt-winters 做为一类 detector。holt-winters 有α,β,γ 三个参数,取值范围都是 [0, 1]。那么它就采样为 (0.2, 0.4, 0.6, 0.8),也就是 4 ** 3 = 64 个可能。那么每个点就此得到  64  个特征值。

异常检测之

Opprentice 系统与 Skyline 很相似

Opprentice 系统整个流程跟 skyline 的思想相似之处在于先通过不同的统计学上的算法来尝试发现异常,然后通过一个多数同意的方式/算法来确定最终的判定结果。

只不过这里百度采用了一个随机森林的算法,来更靠谱一点的投票。而 Etsy 呢?在 skyline 开源几个月后,他们内部又实现了新版本,叫 Thyme。利用了小波分解、傅里叶变换、Mann-whitney 检测等等技术。

另外,社区在 Skyline 上同样做了后续更新,Earthgecko 利用 Tsfresh 模块来提取时序数据的特征值,以此做多时序之间的异常检测。我们可以看到,后续发展的两种 Skyline,依然都没有使用机器学习,而是进一步深度挖掘和调整时序相关的统计学算法。

开源社区除了 Etsy,还有诸多巨头也开源过各式其他的时序异常检测算法库,大多是在 2015 年开始的。列举如下:

Yahoo! 在去年开源的 egads 库。(Java)

Twitter 在去年开源的 anomalydetection 库。(R)

Netflix 在 2015 年开源的 Surus 库。(Pig,基于PCA)

其中 Twitter 这个库还被 port 到 Python 社区,有兴趣的读者也可以试试。

二、归因分析

归因分析是运维工作的下一大块内容,就是收到报警以后的排障。对于简单故障,应对方案一般也很简单,采用 service restart engineering~ 但是在大规模 IT 环境下,通常一个故障会触发或导致大面积的告警发生。如果能从大面积的告警中,找到最紧迫最要紧的那个,肯定能大大的缩短故障恢复时间(MTTR)。

这个故障定位的需求,通常被归类为根因分析(RCA,Root Cause Analysis)。当然,RCA 可不止故障定位一个用途,性能优化的过程通常也是 RCA 的一种。

归因分析之 Oculus 模块

和异常检测一样,做 RCA 同样是可以统计学和机器学习方法并行的~我们还是从统计学的角度开始。依然是 Etsy 的 kale 系统,其中除了做异常检测的 skyline 以外,还有另外一部分,叫 Oculus。而且在 Etsy 重构 kale 2.0 的时候,Oculus 被认为是1.0 最成功的部分,完整保留下来了。

Oculus 的思路,用一句话描述,就是:如果一个监控指标的时间趋势图走势,跟另一个监控指标的趋势图长得比较像,那它们很可能是被同一个根因影响的。那么,如果整体 IT 环境内的时间同步是可靠的,且监控指标的颗粒度比较细的情况下,我们就可能近似的推断:跟一个告警比较像的最早的那个监控指标,应该就是需要重点关注的根因了。

Oculus 截图如下:

这部分使用的 计算方式有两种:

欧式距离,就是不同时序数据,在相同时刻做对比。假如0分0秒,a和b相差1000,0分5秒,也相差1000,依次类推。

FastDTW,则加了一层偏移量,0分0秒的a和0分5秒的b相差1000,0分5秒的a和0分10秒的b也相差1000,依次类推。当然,算法在这个简单假设背后,是有很多降低计算复杂度的具体实现的,这里就不谈了。

唯一可惜的是 Etsy 当初实现 Oculus 是基于 ES 的 0.20 版本,后来该版本一直没有更新。现在停留在这么老版本的 ES 用户应该很少了。除了 Oculus,还有很多其他产品,采用不同的统计学原理,达到类似的效果。

归因分析之 Granger causality

Granger causality(格兰杰因果关系)是一种算法,简单来说它通过比较“已知上一时刻所有信息,这一时刻 X 的概率分布情况”和“已知上一时刻除 Y 以外的所有信息,这一时刻 X 的概率分布情况”,来判断 Y 对 X 是否存在因果关系。

可能有了解过一点机器学习信息的读者会很诧异了:不是说机器只能反应相关性,不能反应因果性的么?需要说明一下,这里的因果,是统计学意义上的因果,不是我们通常哲学意义上的因果。

统计学上的因果定义是:『在宇宙中所有其他事件的发生情况固定不变的条件下,如果一个事件 A 的发生与不发生对于另一个事件 B 的发生的概率有影响,并且这两个事件在时间上有先后顺序(A 前 B 后),那么我们便可以说 A 是 B 的原因。』

归因分析之皮尔逊系数

另一个常用的算法是皮尔逊系数。下图是某 ITOM 软件的实现:

我们可以看到,其主要元素和采用 FastDTW 算法的 Oculus 类似:correlation 表示相关性的评分、lead/lag 表示不同时序数据在时间轴上的偏移量。

皮尔逊系数在 R 语言里可以特别简单的做到。比如我们拿到同时间段的访问量和服务器 CPU 使用率:

然后运行如下命令:

acc_count<-scale(acc$acc_count,center=T,scale=T)

cpu<-scale(acc$cpuload5,center=T,scale=T)

cor.test(acc_count,cpu)

可以看到如下结果输出:

对应的可视化图形如下:

这就说明网站数据访问量和 CPU 存在弱相关,同时从散点图上看两者为非线性关系。因此访问量上升不一定会真正影响 CPU 消耗。

其实 R 语言不太适合嵌入到现有的运维系统中。那这时候使用 Elasticsearch 的工程师就有福了。ES 在大家常用的 metric aggregation、bucket aggregation、pipeline aggregation 之外,还提供了一种 matrix aggregation,目前唯一支持的 matrix_stats 就是采用了皮尔逊系数的计算,接口文档见:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-matrix-stats-aggregation.html

唯一需要注意的就是,要求计算相关性的两个字段必须同时存在于一个 event 里。所以没法直接从现成的 ES 数据中请求不同的 date_histogram,然后计算,需要自己手动整理一遍,转储回 ES 再计算。

饶琛琳,目前就职日志易,有十年运维工作经验。在微博担任系统架构师期间,负责带领11人的SRE团队。著有《网站运维技术与实践》、《ELKstack权威指南》,合译有《Puppet 3 Cookbook》、《Learning Puppet 4》。在众多技术大会上分享过自动化运维与数据分析相关主题。

新一代IT运维平台应该具备哪些特点

一个成熟的自动化运维系统应具有用户平台、运维商平台、综合管理平台、用户微门户、工程师微门户五大子平台,包括:
服务管理:业务关系管理、服务目录、服务等级协议管理、服务台、运维团队管理、合同管理、服务报告等支持服务业务管理。
标准流程管理:资产配置、事件、驻场运维、问题、预防性维护、变更、发布、客户满意度、知识、监控、移动运维等流程,保证运维工作顺利进行。
内容来源于ITSS符合性评估落地工具-云雀运维。

IT运维平台应该具备什么特点

IT运维管理工具至少应该具备下面几个特点:
1、统一的运行展现:可以给运维管理人员提供网络管理、业务应用管理、机房环境等资源监控系统的集中展现与处理平台IT运维平台研究,这即方便运维人员操作IT运维平台研究,也解决了IT系统的统一协调问题;2、问题的管理功能:可以帮助运维人员查明突发事件或错误产生的根本原因IT运维平台研究,并制定解决问题的方案和防止错误再次发生的有效措施;
3、变更的管理:通过分析、计划、执行和回顾四个阶段IT运维平台研究,最大限度控制变更的风险,保持企业IT部门和客户之间的信息沟通,这不但降低了对人的依赖,而且还实现了运维的量化、标准化管理。

IT运维的管理现状

伴着IT在企业中的作用日益明显,IT建设和IT运维同时成为了企业效率的加速器。同时,计算机硬件系统和软件系统的运维已成为了各行各业单位,尤其是信息服务部门普遍头痛的事情。本文以下内容总结几个头痛的主要因子,拿出来供大家参考指导,并接下来的系列课题中会对针对这些现状提出改进措施 。
现状一:IT运维人员成本偏高
据专业调查,大多数CIO表示最关心的是IT运维成本过高。原因是在过去的5年中,很多企业都实施了很多IT系统,使得IT运行越来越复杂,也越来越难管理。同时,其中有50%的受访CIO认为IT运维成本过高的一个原因是IT运维的自动化做得还不够好,依靠手工流程来管理,不但使到运维效率不高,而且人力成本更是花费惊人。
同时,另一家国际知名调查机构Gartner调查发现,在IT运维成本中,源自技术或产品(包括硬件、软件、网络等)成本其实只占20%,而流程维护成本占40%,运维人员成本占40%。流程维护成本包括日常维护、变更管理、测试成本等;人员成本包括训练、教育、人员流失、招聘成本等。
从图中,我们可以看出, “流程维护”类和“运维人员”两者都与软性方面的成本相关非常紧密。而且三者的关系可以用下图来表示:
备注:C类成本的大小很大程度取决于B和D类。
现状二:处在“救火式”的IT运维控制
国内在IT运维过程中,IT员工大多数只是处在被动低效率手工救火的状态,只有当事件已经发生并已造成业务影响时才能发现和着手处理。这种被动“救火”会导致:①.IT运维人员终日忙碌,IT运维人员日常大部分时间和精力是处理一些简单重复的问题;②IT运维本身质量很难提高;③再加上故障预警机制的不完善,往往是故障发生后或报警后才会进行处理,不但事倍功半而且故障还常常会出现恶性连锁反应;④IT部门和业务部门对IT运维的服务满意度都不高。
现状三:简单的自动化程度起了“反作用”
尽管IT运维管理的技术在不断进步,但实际上很多IT运维人员并没有真正解脱出来,主要原因是自动化不高而导致的。技术虽然能够获取IT设备、服务器、网络流量,甚至数据库的警告信息,但成千上万条警告信息堆积在一起根本没法判断问题的根源在哪里。还有,许多企业的更新管理绝大多数工作都是手工操作的。即使一个简单的系统变更或更新往往都需要运维人员逐一登录每台设备进行手工变更,当设备数量达至成百上千时,其工作量之大可想而知。而这样的变更和检查操作在IT运维中往往每天都在进行,占用了大量的运维资源。因此,实现运维管理工作的自动化对企业来说已迫在眉睫。
就如图中一样,所有信息(杂乱)都从各个地方被收集到了这个圆圈(容量不变)里面,信息进去后不能主动流出来。可能会出现的情况:这个圆圈容器装满后会爆破,或者是溢出来;圆圈的运行速度会慢慢降下来,从而导致信息输入的速度也会变慢。
现状四:本是同家兄弟,却不经常来往
这个问题主要是发生在拥有许多子公司的企业,每个子公司的系统都是独立的,下面主要以国内银行业为例。以前国内的银行业没有搞集中建设,每家银行的各个地方分行都单独建设和维护自己的核心业务系统,都各自配备开发人员和维护人员。
同时在运行维护方面,对故障的解决,完全依靠运行维护部门的工程师的上门服务。不管问题大小,工程师都要来回去现场解决。遇到一些技术难度大的问题,如果工程师的水平高,处理起来就快;如果水平低,甚至花上几个小时,可能也解决不了。
虽然国内银行业的IT运行维护管理水平,有点接近国外80年代末90年代初银行业的水平,银行IT结构上都采用了大集中模式。从硬件设备上来看,国内银行不比别人差,甚至还有些领先,但IT运维管理还没达到国外当时的水平,尤其是呼叫中心、客户服务方面。”
结束语
从上面三个现状来看,主要是有关软性方面的。的确如此,国内借着近十几年高速发展,硬件方面的发展取得了重大进步,某些方面的水平甚至是超过了国外的水平,并且IT硬件的生产厂商也是出现了很多与国外厂商同等秀舞的水平,如华为、中兴等。但是往往是硬件易学,知识技巧难寻。这不仅与国内教育环境有关外,还与知识经验的继承有关。
管理要动态匹配业务需求
IT部门还会经常联合HR、法务等部门一起做跨部门的沟通,面对的对象是各部门的管理层,让他们理解企业的IT策略。

如何建设有中国特色的IT运维管理平台之我见

中国式IT运维管理,一方面是站在一个比较高的层次进行统筹规划,依据“自上而下”的设计过程,但是在建设过程中应该遵循“自下而上,先易后难”的原则,逐步搭建符合本企业实际需要的IT管理平台,另外一方面是利用这种理念去设置一款IT运维管理的帮助台软件,利用易维软件中的服务目录和SLA进行事件和人的管理,做到人管理为主,从而达到和itil相近的目的,但是上手性却更容易。 关于IT运维平台研究和It 运维的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 IT运维平台研究的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于It 运维、IT运维平台研究的信息别忘了在本站进行查找喔。
上一篇:智能家居展、智能家居展会、2019智能家居展、亚洲专业智能家居博览会
下一篇:做性能测试目的(性能测试工作的目的是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~