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

简介: 本文根据阿里云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功能,欢迎开通使用。
点击了解更多产品信息

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
打赏
0
0
0
0
496
分享
相关文章
云服务运维智能时代:阿里云操作系统控制台
阿里云操作系统控制台是一款创新的云服务器运维工具,采用智能化和可视化方式简化运维工作。通过AI技术实时监控服务器状态,自动分析性能瓶颈和故障原因,生成详细的诊断报告与优化建议。用户无需复杂命令行操作,仅需通过图形化界面即可高效处理问题,降低技术门槛并提升故障处理效率。尤其在服务器宕机等紧急情况下,智能诊断工具能快速定位问题根源,确保业务稳定运行。此外,控制台还提供内存、存储、网络等专项诊断功能,帮助用户全面了解系统资源使用情况,进一步优化服务器性能。这种智能化运维方式不仅提升了工作效率,也让个人开发者和企业用户能够更专注于核心业务的发展。
idc机房智能运维解决方案
华汇数据中心一体化智能运维方案应运而生,以“自主可控、精准洞察、智能决策”三大核心能力,助力企业实现运维效率提升与综合成本下降的数字化转型目标。
62 24
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
80 26
Zabbix告警分析新革命:DeepSeek四大创新场景助力智能运维
面对日益复杂的IT环境,高效分析监控数据并快速响应成为运维的关键挑战。本文深入探讨了DeepSeek与Zabbix结合的创新应用,包括一键式智能告警分析、Zabbix文档知识库助手及钉钉告警增强功能。通过部署指南和实用脚本,展示了如何提升故障排查效率,为运维工程师提供高效解决方案。
136 5
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
141 5
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
499 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
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
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版