您当前的位置:首页 >> 综艺
利用大数据技术实现智能运维
发布时间:2019-06-17
 
智能运维

一、到底什么是智能运维?

其实智能运维是相对传统运维的一种升级和进化,智能运维能够实现业务系统的自动化故障智能检测,自动判断哪些异常、哪有有告警,从而能够辅助管理者进行故障根源判断和处理。

二、传统运维软件出现这么多年,为什么现在会提出来智能运维?

几年前一般的企业只有几十个或者几百个服务器资源,而今天随着云计算、虚拟化技术的发展,互联网技术的广泛应用,一个企业拥有几千台或者上万台服务器资源也是常见的。在监控层面要想获得每一个服务器的每一个指标更加困难。

另一方面,业务系统复杂度也在增长,架构更加复杂,cache数据、非关系型数据库、大数据架构、离线的数据处理、app、PC端应用等,这些以传统监控方式一个一个配置已经不能满足管理需求。随着管理资源的数量和负责度增加,监控出现了太多的指标和图表,人的精力是有限的,工程师规模却没有太大的增长。


三、为什么说利用大数据技术能实现智能运维呢?

  • 传统系统无法实现海量数据的处理

IT资源从几十到几百台上升到万级甚至是十万级,监控本身每天可能产生的数据就是几十T到几百T,如何把这些海量的数据采集和计算存储下来,并且把这些海量数据给用户展现出来,从而进行一定分析,为管理提供决策,这是传统监控系统很难解决的。

  • 传统无法处理的报警风暴

随着监控指标的增加,带来的就是报警的增加。假设每天发送3W-5W条短信、每天邮件报警量50W-100W,几百个工程师如何处理过来,工作负荷无缘无故增加。


四、如何利用大数据技术实现智能化运维

  • 从数据采集维度首先要获得更加全面的海量数据

从业务的角度出发,首先监控要从三个部分采集更多的基础输出,包括基础架构部分;用户端数据,只控制了server端,用户端出现问题也无法使用;应用部分,包括WEBServer+APP Server+File Server+Load Balancer等。从采集数据的内容来看,基础架构数据更多的事性能数据、销售数据等,例如磁盘、CPU等;用户侧数据更多是流量、错误率、用户访问情况、用户体验、操作信息、操作记录这些用户关心的数据;

  • 从数据处理层面实现数据聚合

监控系统将采集回来的数据进行时间序列处理,原始的日志信息等很难用作处理判断的,只有将它转换成可识别的结构化数据或者时间序列数据,我们才能方便进行判断。

最简单的方式就是把每一个单位时间采集的原始各类信息数据转换为时间序列数据,然后对单位节点的数据之上再去做聚合。

  • 通过数据处理实现异常自动的检测

传统的监控方式一种是恒定阈值的方式(cpu小于10%报警),一种是同环比(周期性的对比,响应时间上涨20%报警等)。这些告警方式都比较简单,简单易懂。但是缺点一样明显,需要大量的工程师的投入,体现在两个方面,一个就是监控的配置,一个是随着环境变化人工阈值变化维护。

利用大数据如何解决人工的阈值设定呢,首先可以利用统计学方式,根据数据的正态分布规律,利用标准差或者方差的方式推断阈值来代替人工设定的阈值,这个方式可以解决大量的人力;另外一种方式针对同环比情况,可以利用同环比方差计算,例如把原始数据切分成很小的时间窗口,针对每一个小的时间窗口他的同环比区间内我们去计算均值和方差,最后会得到一个整体趋势性数据的阈值范围。

当然数据还是不断变化的,这种情况可以利用数据针对不同的节假日、上班高峰的大量历史数据进行比较,这里需要大量的历史数据,同时需要对数据的对比分析,从中通过算法识别出来规律,从而避免监控移动或者误报。



相关阅读