首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK的崛起(Rise of the ELK)

ELK的崛起(Rise of the ELK)

作者头像
用户2936994
发布2018-08-27 10:54:07
6320
发布2018-08-27 10:54:07
举报
文章被收录于专栏:祝威廉祝威廉

前言

忽如一夜春风来,千树万树梨花开,恍惚之间,ELK亦是遍地开花,甚至提供类似ELK解决方案的专业公司数量已然可观。

ELK的用途

传统意义上,ELK是作为替代Splunk的一个开源解决方案。Splunk 是日志分析领域的领导者。日志分析并不仅仅包括系统产生的错误日志,异常,也包括业务逻辑,或者任何文本类的分析。而基于日志的分析,能够在其上产生非常多的解决方案,譬如:

  1. 问题排查。我们常说,运维和开发这一辈子无非就是和问题在战斗,所以这个说起来很朴实的四个字,其实是沉甸甸的。很多公司其实不缺钱,就要稳定,而要稳定,就要运维和开发能够快速的定位问题,甚至防微杜渐,把问题杀死在摇篮里。日志分析技术显然问题排查的基石。基于日志做问题排查,还有一个很帅的技术,叫全链路追踪,比如阿里的eagleeye 或者Google的dapper,也算是日志分析技术里的一种。
  2. 监控和预警。 日志,监控,预警是相辅相成的。基于日志的监控,预警使得运维有自己的机械战队,大大节省人力以及延长运维的寿命。
  3. 关联事件。多个数据源产生的日志进行联动分析,通过某种分析算法,就能够解决生活中各个问题。比如金融里的风险欺诈等。这个可以可以应用到无数领域了,取决于你的想象力。
  4. 数据分析。 这个对于数据分析师,还有算法工程师都是有所裨益的。

为啥ELK突然火了?

ELK之前,有没有类似解决方案呢? 某大神说是有的,当时应该是基于 Sphinx + Google char的。 Sphinx 对应ES, Google char 对应 Kibana。

那为啥当时它没有火而现在的ELK火了呢?一种比较玄幻的解释是:

事实上开源界永远有多种选择,比如基于java的lucene的es,也有基于c的lucy的dezi。但是谁火谁不火,真的是一个很玄妙的事情

我觉得原因有很多方面。一个简单而较为核心的因数是时机。所谓时势造英雄是也。

当然,任何一件事情不可能是一个因子引起的,或者我们说时机是一个较为宽泛抽象的因子。

下面我会尝试从多个因子去阐述为什么ELK突然蓬勃发展。

数据(日志)的日益增多

早年能够产生足够数据的就那么一些站点,而现在一个初创的企业可能都需要面临海量用户/海量请求/海量分析的压力,其中产生的日志自然也是非常可观,而随着业务越来越复杂,微服务重新得到重视,无论系统日志,还是业务日志都更进一步了。运维或者开发们发现,我要从这么大规模的系统中(几百个上千个服务)产生的这么多日志(千亿规模),去排查问题,简直是没有可能了。以前有这么大数据量的公司,都是有实力的公司,他们可能有内部专用的系统去处理。然而现在突然成为了一个普遍需求,这个时候ELK顺势而上,也就水到渠成。

开源

开源现在已经融入到IT社区的血液里。虽然我们说商业,自研,还有开源三者之间是相辅相成,相濡以沫或者偶尔会相爱相杀,但是如果有开源可以选择,显然大部分开发或者运维还是首选开源的。有位大牛说的好:

开源及其便利性,开源的好处,学习成本底,招一个人就能培养他开干,一个内部维护的系统,新人上火总会问题很多;比如要重构还不如重写,或者不愿在人家的代码基础上开发

ELK其开源属性,显然是比Splunk 略胜一筹的。

行业属性

有些行业对日志的依赖是非常大的,比如 CDN 日志除了能排查错误,对其分析还能对CDN调度等很多方面产生影响,这些都是实打实的经济效益。

运维自身发展

运维本身也在发展,不可能一直在刀耕火种的年代。而日志对于运维来说,应该算是命根子了。对一个成体系的,标准化的日志分析方案的需求,也是历史发展的必然。ELK在恰当的时候产生,运维接受他就是自然而然的了。

ELK自身属性问题

引用一位大神的说法:

ELK能解决的核心问题,覆盖面也广,标准化,易扩展集成,开发和运维都对其感冒

ELK 本身非常易用,现在也有一个非常好的社区,加上需求如此之大,不火都不行。

大数据导致机器开始变得廉价

大数据的一个很好的副作用是让机器在某种意义上变得廉价了。少则几十上百台,多则上万甚至几十万台。服务器数量的急速攀升促进了很多技术的发展,典型的比如现在火的不要不要的深度学习。这就意味着,拿出几十台,上百台服务器做日志分析,一点问题也没有,集中式的日志分析慢慢成为主流。而ELK也是一个典型的集中式日志分析方案。

写入时计算->查询时计算

所谓写入时计算是指将数据经过较为复杂的处理,聚合,得到的结果直接面向查询。 写入时计算规则由查询需求决定。

随着存储格式的不断进步,譬如列式存储等的普及,以及强大的计算资源(一个ES集群动则上百台),使得直接存储原汁原味的数据,然后查询的时候做各种计算变得可能。而ELK已经提供较为强大的查询功能。

总体而言,写入时计算的大方向是往查询时计算转化。查询时计算最大的优势是支持任意查询,不丢失信息。

总结

每个时期的软件们兴衰,就像历史长河中的各个王朝一样。有百花齐放的时候,也有一统江湖的时候。ELK的崛起,最主要还是大势造就而成,譬如移动互联网冲击,大数据/云计算的火热,技术的更新换代,运维/开发群体的不断的成长。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.10.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • ELK的用途
  • 为啥ELK突然火了?
  • 数据(日志)的日益增多
  • 开源
  • 行业属性
  • 运维自身发展
  • ELK自身属性问题
  • 大数据导致机器开始变得廉价
  • 写入时计算->查询时计算
  • 总结
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档