【阿里云MVP第五期】Elastic曾勇:Elasticsearch在智能运维领域的应用

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 本文根据阿里云MVP第五期嘉宾Elastic技术专家曾勇分享话题《Elasticsearch在智能运维领域的应用》整理。介绍了Elasticsearch在智能运维领域的技术原理和应用实践,如非监督型机器学习在自动的异常检测、高级关联和分类、早期故障预测等方面的应用。

嘉宾介绍

曾勇 阿里云MVP、Elastic开发工程师与布道师,在分布式搜索、高性能、高可用架构、自动化运维等方面积累了超过七年的经验。曾勇是Elasticsearch国内首批用户,自2010年起就开始接触Elasticsearch并投入到生产环境中使用,并编写过一系列的中文处理相关的插件。

智能运维从概念走向应用

人工智能是当前很火热的话题,无AI不科技。在运维领域如何同人工智能结合,业界也正在不断探索。理想的世界里,运维工程师可以悠闲的喝咖啡,所有的运维工作都由机器帮忙搞定。这只存在与概念层面,实际上,落地的应用还需要较长的时间。如何落地,在哪些运维的点上可以尝试人工智能,这就是我们今天讨论的重点。

运维的痛点

运维在一个公司里面人不多,但是事情又特别杂,涉及到很多方面,包括最基本的IT运维,服务器的运维,公司内网等基础设施的监控,安全等。今天我们重点聊运维监控这块的。

海量且复杂数据的挑战

如今需要我们管理的设备数量多,数据类型复杂,比如各种应用软件、OA系统、ERP系统,网络硬件、服务器、交换机,也包括考勤机或者是摄像头等传感设备。特别是在现在万物互联的时代,物联网行业一些设备量非常非大,比如弱电设备也会产生很多很多的数据,甚至电表,每天会上报各种各样的数据。举一个电信行业的用户案例,他们正在做新一代的面向水电表的物联网,家里的每一个水表,每一天都会产生海量的数据,归集到一个区域或一个时间段内,数据规模是非常非常大的,几十亿上百亿的数据量。

设备运行状态预测

另一个关键是做到设备运行状态的监控,能够预测到设备的异常。保证正常的为你的企业,为你的客户在服务,这个是运维很关心的一个点。我们收集到设备状态数据之后,可以通过多维度的报表,直观的的了解到设备的运行信息。在ELK的体系里,我们使用Kibana来实现可视化和业务告警。当设备出现异常的时候,我们需要第一时间发现,比如服务器CPU占用飙升30%,或者说磁盘有问题了,可以迅速的从这些海量指标里面定位出来,并辅助我们判断和解决问题。

合理方案的选择

要解决上述问题,必须先考虑一些关键点。我简单列了一些关键字,如下图所示。
basics_v3
第一个,数据接入的问题。各种各样的数据源,通过各种各样的渠道,接进来之后,海量的数据,怎么处理,怎么有效的处理,怎么实时的处理。
第二个,数据处理和分析的问题。数据拉进来之后要去分析,怎么把这个数据利用起来,发现里面的问题。
第三个,系统稳定性的问题。系统需要监控起来,所有的东西需要找到里面存在的一些问题,不能说等你的服务器已经宕机了,我的业务都已经挂掉了,这个时候再去发现问题。
第四个,一些衍生的需求。如可视化、告警灯。比如说我怎么去更方便的可视化去分析。做数据探索,去海量的数据里面去找到你感兴趣的东西。

Elastisearch:海量数据的实时分析

当然刚刚说的这些痛点,Elastic都可以帮你去解决,Elasticsearch比较擅长海量数据处理和实时分析。
basics_v3

监控指标的收集

运维主要几个任务,首先就是监控指标的收集,数据从各个渠道收集起来。Elastic提供了多种收集工具,包括Metricbeat、Filebeat、Auditbeat、Logstash来收集应用软件、云环境、安全、网络等系统的日志数据。
basics_v3

监控数据的存储

目前大部分的数据收集任务用Elastic都可以帮你去解决。然后第二个是存储,存储这一块也不想说太多,Elasticsearch目前在业界TB级别的一点问题没有,很多客户都是每天有海量的数据接进来,每天几百万,几千万都可以支撑,数据规模也相应的会去做一些扩容,这个是支持的。看一下告警,告警这个说实话,我们得到分析的结果之后我们可以去通知,这个说实话也很好做,我们自己也有一个高级引擎,后面有嘉宾同学会进行介绍。

监控数据的分析

重点介绍监控数据的分析。通用的做法是,第一步数据拉过来,Kibana配置Dashboard,然后投影到电视屏幕上。这个可以称为运维的1.0。从最开始的人肉运维,到自动化运维,再到现在的智能运维。其目的就是高效运维,以最少的时间最快的速度去发现问题,可视化如果仅仅停留在看得到这个层面,其实没意义。

basics_v3
上图所示一台服务器的CPU指标,仅仅CPU本身就会收集到这么多指标,比如CPU的空闲时间、使用负载,但是收集起来你会发现很多,几千个指标,或者把它缩一下变几百个,CPU这么复杂了,加上其他的一些业务数据的指标,各种各样的网络设备数据,几万个都是一个保守的估计,但这只是一台服务器。如果你有很多台服务器,如果说把他们去怎么分析。你可能把所有的服务器放到一起做了一个Group,这样其实是有很多噪声的。或者做了一个平均、最大值最小值,但是你只要做到一个最大值最小值或者是平均,它里面就会丢失一部分数据。设想,一平均之后,中间如果有异常数据就发现不了。看到一个整体趋势是可以的,但是某一台服务器就是有问题,发现不了的。
再举硬盘的例子,从指标里面可以反应出来硬盘性能的衰退,但常规指标粗线条是很难发现会有问题的,如果能分析到某一台服务器的,某一个硬盘的,某一堆硬盘里面的某一个硬盘它的健康状况什么样子的,那你就可以知道非常细腻度的监控,当它出问题的时间你可以第一时间发现它,可能还没有出现问题,但是快出问题了,把它找到,然后及时处理,这样的话可以第一时间把这个问降低到最低。接下来,说一下Elastic如何使用机器学习来帮助做运维检测。

Elastic中的机器学习

首先我们看一下监控数据吧,主要分为三大类,第一个就是日志loging,服务器里面,产生一个行为就会记录一条日志。第二类,tracing info更偏向于应用的分析,可能跟更详细的一些调用这种东西。第三个是指标信息,服务器的CPU、负载、百分比、占有情况等等这是第三类。他们都有一个共同点,都具有实时性。

basics_v3

实时性数据顾名思义,都是跟时间相关的,可以看到里面可以放在一个时间轴上面的。首先可以看到它是有规律的,随着时间的变化它是有一些前后的一个关联性的。基于时间的数据可以做预测,服务器指标以前的一个工作情况什么样子的,可以预测它明天,应该是一个什么样的工作情况,今后一段时间如果没有出什么问题的情况下,它应该就是怎么工作,它的指标应该是这么表现。

我们可以做一个关联,我们可以看到这是一个指标,表示每分钟的一个请求数,下面是另外一个指标,一个网站的一个状态码,可以看到,这个是两个指标,他们都是在一个时间轴上面,当某一个地方出问题的时候,比如说这个状态突然说以前都是200,上面是500了,是有问题了,这个时候我们发现另外一个指标也有关联性的一个改变,比如说KPS突然变这么高,他们就是有关联性的,可能是服务器突然被人大量并发的高峰期访问,或者说是恶意攻击,从而影响其他业务,是有一些关联性的,这是实时性的另外一个特点。

basics_v3

当然实时性的数据如果不做一些处理,数据的力度很细,比如每秒钟收集一条,10秒钟收集一条,数据量非常大,需要做一些组合可以看到到这个锯齿非常非常的频繁。然后做一些按时间,比如说15分钟做一组,把他们做一些预加工,做预聚合,它的曲线就会变得更加平滑,可以更好的去分析,这个是Bucket选择。然后我们可以看到三个不同的Bucket的一个分布选择,这是第一个是没有做任何的一个处理的,你看到原始数据非常非常密,基本上是看不出任何问题的,这个其实我们目前分析的方式也基本上是这样,一个图出来,各种线条都在一起,很密,我就知道它这里面都是比较平的一条曲线,没什么问题,看到起来很好。然后我再把它做一些组合之后会发现,其实里面有一个比较规律的一个波动的,然后在进一步做合并之后,再放大,曲线时间再放大会发现他们更加明显,可以看到这个时间点它的锯齿变化更加的不一样。这里面其实可能是存在潜在的一个异常,所以经过调整之后其实就可以发现里面存在的一些问题。第一个就是一个比较粗线条的一个分析,大家正在做的一个,大部分公司都是这种方式。

basics_v3

对实时性数据做Bucket是一种方式,再看看Elastic使用无监督学习怎么去做。它可以帮你去学习你的某一个指标,历史的一个行为是什么样子的,比如说服务器的CPU指标,过去是怎么工作的,可能就是这么一个行为,它可以自动帮你去学习,自动帮你去构建这么一个模型,但某一天这个行为出现变化的时候可以识别出来,然后自动告诉你这个时间点这个数据是不对的,你可以去有这么一个警告,发现这个地方可能会出现问题,做进一步的处理,这个就是我们的Elastic机器它可以帮你做的事情。

把序列化的指标特征化,模型化,可以让它24小时的在后台帮你去检测,服务器的每一个指标。当指标有几百上千万个指标,当有很多台服务器,每一个服务器的行为又是不一样的,可以把它理解为每一个服务器是独立的个体,它的服务器的性能不一样,就算是同一批机器它的性能都是不一样,它的磁盘也是不一样,磁盘的生产时间也不一样,只要是生产时间有一点点变化,最终的质量都不一样,生命周期也就不一样,所以说以他们每一个系列为单位,分别去检测他们的一个运行的指标,然后去看,是不是正常,当不正常的时候可以第一时间帮你告警,这是自动的,机器可以帮你去做这种它擅长做的事情,这就是我们可以利用机器学习帮你去解放你的运维。下面是几个Demo的截图。(在线Demo即将上线,敬请期待!)

basics_v3

basics_v3

阿里云MVP介绍

阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖。点击了解更多产品信息
阿里云 MVP Meetup 第5期活动视频回顾。点击观看

加入钉钉技术讨论群

dingQR

阿里云Elasticsearch已正式发布啦,Elastic开源官方联合开发,集成5.5商业版本XPack功能,欢迎开通使用。
点击了解更多产品信息

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
1月前
|
人工智能 运维 自然语言处理
别再靠“救火”过日子了:智能运维,正在重塑IT服务的未来
别再靠“救火”过日子了:智能运维,正在重塑IT服务的未来
253 15
|
1月前
|
存储 人工智能 运维
日志服务&云监控全新发布,共筑企业智能运维新范式
阿里云推出Operation Intelligence新范式,通过日志服务SLS与云监控2.0,实现从感知、认知到行动闭环,推动运维迈向自决策时代。
226 1
日志服务&云监控全新发布,共筑企业智能运维新范式
|
1月前
|
存储 人工智能 运维
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
195 14
|
1月前
|
机器学习/深度学习 数据采集 运维
别等系统崩了才救火:智能化运维,才是真正的高可用!
别等系统崩了才救火:智能化运维,才是真正的高可用!
211 8
|
1月前
|
传感器 人工智能 运维
拔俗AI巡检系统:让设备“会说话”,让隐患“早发现”,打造更安全高效的智能运维
AI巡检系统融合AI、物联网与大数据,实现设备7×24小时智能监测,自动识别隐患并预警,支持预测性维护,提升巡检效率5倍以上,准确率超95%。广泛应用于工厂、电力、交通等领域,推动运维从“被动响应”转向“主动预防”,降本增效,保障安全,助力数字化转型。(238字)
|
6月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
3212 0
|
7月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
1229 1
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
455 5
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
1207 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版
  • 下一篇
    oss云网关配置