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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文根据阿里云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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
13天前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
2月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
65 2
|
2月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
61 3
|
9天前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
2月前
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
68 14
Elasticsearch Inference API增加对阿里云AI的支持
|
10天前
|
运维 Devops 应用服务中间件
自动化运维的利剑:Ansible在现代IT架构中的应用
【10月更文挑战第42天】本文旨在揭示自动化运维工具Ansible如何革新现代IT架构,通过简化配置管理和部署流程,提升效率和可靠性。我们将探索Ansible的核心功能、语言特性以及其在DevOps文化中的角色。文章还将展示如何借助Ansible构建模块化和可重用的配置代码,实现快速迭代与部署,并确保系统一致性。通过阅读本文,运维人员将了解如何利用Ansible优化日常任务,加速产品上线速度,同时提高系统的稳健性。
22 5
|
17天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代IT基础设施中的应用与价值####
本文探讨了智能化运维(AIOps)在现代IT基础设施管理中的实际应用、面临的挑战及其带来的深远影响。通过引入先进的算法和机器学习模型,智能化运维不仅提高了故障检测与响应的速度,还显著优化了资源配置,降低了运营成本,为企业数字化转型提供了强有力的技术支撑。 ####
|
15天前
|
机器学习/深度学习 人工智能 运维
智能运维在现代IT系统中的应用与挑战####
本文深入探讨了智能运维(AIOps)在现代IT系统中的关键作用,通过具体案例分析,揭示了其在提升系统稳定性、优化资源配置及自动化故障处理方面的显著优势。同时,文章也指出了实施智能运维过程中面临的数据安全、技术整合及人员技能转型等挑战,并提出了相应的解决策略,为读者提供了全面而深刻的见解。 ####
42 6
|
15天前
|
人工智能 运维 监控
智能运维在现代数据中心的应用与挑战
随着云计算和大数据技术的迅猛发展,现代数据中心的运维管理面临着前所未有的挑战。本文探讨了智能运维技术在数据中心中的应用,包括自动化监控、故障预测与诊断、资源优化等方面,并分析了当前面临的主要挑战,如数据安全、系统集成复杂性等。通过实际案例分析,展示了智能运维如何帮助数据中心提高效率、降低成本,并提出了未来发展趋势和建议。
|
16天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
38 4

相关产品

  • 检索分析服务 Elasticsearch版