求《运维前线一线运维专家的运维方法技巧与实践》全文免费下载百度网盘资源,谢谢~

求《运维前线一线运维专家的运维方法技巧与实践》全文免费下载百度网盘资源,谢谢~,第1张

APEX IT运维和服务管理系统 提供了“无缝式IT监控系统”功能,其系统架构清晰,采用模块化的设计理念,各功能模块既可独立运行、松散耦合;亦可整体功能无缝衔接覆盖整个业务系统,灵活的自由组合真正实现个性化的IT无忧运维。

APEX IT运维和服务管理系统主要由综合运维管理平台OSSWorks、网络管理NetManager、应用管理ApplicationsManager、流量管理FlowManager、桌面安全管理DeskTopManager等五个产品组成:

OSSWorks:遵循ITIL标准规范,结合国内管理模式,提供服务台、个人桌面管理、事件管理(突发故障管理)、问题管理、IT资产配置管理、变更与发布管理、知识库等功能,实现了一体化的IT运维支撑平台。

NetManager NETMANAGER:实现了对交换机、路由器、防火墙等设备的全方位管理,提供了丰富的拓扑、配置、资产、故障、性能、事件、流量、报表等网络管理功能。

ApplicationsManager: 实现了对多种系统及上层应用监控管理功能,包括服务器、数据库、邮件服务器、WEB服务器、应用服务器、 *** 作系统、网站监控等。

FlowManager:提供网络流量监测、流量门限、协议分析、Web上网行为审计等功能。结合NetFlow网络流量分析器实现更为细化、便捷的全网流量分析功能。

DesktopManager:提供资产管理、桌面安全策略管理、软件和补丁分发、文件访问控制等功能,确保PC应用环境的稳定性与安全性。

通过Apex 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]。那么它就采样为 (02, 04, 06, 08),也就是 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 20 的时候,Oculus 被认为是10 最成功的部分,完整保留下来了。

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 的 020 版本,后来该版本一直没有更新。现在停留在这么老版本的 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)

cortest(acc_count,cpu)

可以看到如下结果输出:

对应的可视化图形如下:

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

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

>

《运维前线一线运维专家的运维方法技巧与实践》百度网盘pdf最新全集下载:

vs1x

简介:这是一本关于互联网运维的电子书,全书为读者介绍了IT运维领域的知识点,包含了不同行业的运维工作,值得一看。

现在的企业几乎都是互联网办公,网络一旦出现问题,会对公司业务造成重大损失。而很多公司主业也不是IT,对网络问题不大懂,对于公司的网络问题往往都是请一个运维工程师处理。这些工程师有相应的专业能力,但管理人员的“不懂行”却让运维工作存在很多问题,主要有这五点:

1、缺乏有效的知识积累和共享,造成 *** 作维护效率低下,类似的故障和问题仍然在不断发生,不断解决着,同时一旦某些掌握关键信息和技能的人发生意外状况(如生病,离职等),整个日常维护可能面临严峻的考验。

2、工程师的维护职责不是很清楚,每个人都大概知道自己该做什么,但是某个具体事情到底该谁负责,却没有明细定位。

3、IT网络运维人员大多没有养成记录习惯,每个月汇总报告时,对自己的工作量、所维护系统的整体情况还是一头雾水。而且纸质的故障处理报告信息要素不全,统计和查询都是头痛的问题。

4、运维人员几乎很少能准时下班,处理突发技术故障的事情也时有发生。运维人员往往像“救火队员”一样去处理故障。 在“救火式”的IT管理维护模式下,很难有效地进行服务管理,无法保证IT服务的有效性和一致性,IT管理往往处于无序状态。

5、对于运维工程师的工作绩效缺乏客观考核依据。他们到底做了哪些事情哪些事情还没有做工作完成的时效性怎么样解决问题的质量怎么样这些问题,只能凭印象得出一个个模糊的答案。

如何解决以上问题

如何解决以上提到的问题是目前许多企业用户需要解决的问题,但首要关注的问题应是如何建立专业化分工的IT运维体系。

1、细化用户角色,力求提高运维效率

运维人力分工管理包含人员、岗位、角色等信息,如果这些信息没有统一规划,就无法进行统一配置。网络管理中的角色是根据ITIL标准进行划分的,是把IT运维各种事情(包括人员、资源、突发事故)分成不同级别和不同运维 *** 作,以便有效的配置运维人力资源。因此,对于企业而言,IT运维的专业化分工本质上是对IT运维人力资源配置的优化。例如,明确运维事件分级处理流程,明确运维人员的职责、权限、义务和绩效考核标准。事实上许多实践也证明,明确每种运维事件的专业化分工处理流程,可以大大减少IT运维 *** 作的随意性和混乱性,并能大大提高运维中的人力资源效率。

2、设立IT运维服务台,规范IT流程

在网管软件中,一般提供自助服务和运维服务台,自助服务台的作用是,给用户报故障,评价IT人员解决问题是否负责等。运维服务台是为了确定运维等级和引入优先处理原则。运维服务台主要承担:运行值班、故障监控、接受请求、工单派发及问题解决过程中的监测等工作内容。服务台就像是传统产业生产车间的调度分配员,它会不断的根据事件的等级进行匹配分工和调度。例如发生任何一个突发运维事件时,服务台会先检查并进行分类流转处理。运维人员可分为一线普通维护、二线技术专家和三线厂商专家。一线人员作为第一级问题处理人员,主要解决常规的运维问题;在一线人员不能解决的情况下,二线技术专家将迅速介入问题解决过程;三线技术专家来自产品供应商,由二线技术专家申请三线厂商专家的介入,使问题解决时间能够大大缩短。

3、FAQ和知识库,最大限度节省人力成本

提供FAQ和知识库两种方式,知识库是指对网络运维中的典型故障事件和常见问题解答的自助式处理流程。当出现故障时,用户先在自助式知识库寻找解决方法。如果问题没有得到解决,则用户利用服务台申请维护,用户申请将会移交给相应的负责人,负责人第一时间建立服务档案并一直实时监控,直到问题得到圆满的解决。因此,自助式知识库能帮助运维人员节省大量的时间,从而节省人力成本支出。

最后,专业的事情要用专门的人员来做,还要配合专业的方法。运维工程师是以技术为主的群体,他们往往关注于IT问题本身,主要通过提升自身技术实力来解决问题,不太关注技术之外的事情。这种情况下不可避免的会出现一些问题,这就需要管理人员来解决了。

以上就是关于如何做好IT运维管理工作全部的内容,包括:如何做好IT运维管理工作、IT运维平台算法背后的两大“神助攻”、求《运维前线一线运维专家的运维方法技巧与实践》全文免费下载百度网盘资源,谢谢~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8840810.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存