ELK一推出,开始是在运维圈子里面火了起来,之前没有好的工具来进行运维日志分析,ELK由三个产品组成,Elasticsearch负责海量数据的存储和搜索,Logstash负责数据源日志采集,而Kibana则很方便快速进行分析。

导读:12 月 22 ~ 23 日,GIAC 全球互联网架构大会将于上海举行。GIAC 是高可用架构和 msup 联合推出的面向架构师、技术负责人及高端技术从业人员的技术架构大会。GIAC 于 2016 年 12 月成功举办了第一届,今年的 GIAC 已经有腾讯、阿里巴巴、百度、平安、饿了么、携程、七牛、蚂蚁金服、罗辑思维、摩拜、唯品会,LinkedIn, Pivotal, Mesosphere, AdMaster, Hulu 等公司专家出席。在大会前夕,高可用架构采访了本届大会讲师曾勇,就目前业界非常流行的 ELK 框架等问题进行了访谈。

曾勇(Medcl),Elastic 开发工程师与布道师,在分布式搜索、高性能、高可用架构、自动化运维等方面积累了超过七年的经验。Elastic 开源社区负责人。

1、曾勇,您好,很荣幸能采访到您。您作为 Elastic Stack 中国布道师,能否简单分享一下您在 ELK 布道过程中的收获和感受?

这个问题很好,首先作为布道师,首要任务就是让更多的人了解我们的产品,链接社区和我们的开源产品,那自然而然就要接触到更多的人,这个是我之前工作经验中所不同的地方,收获就是能够听到更多用户的声音,然后再反馈到我们的产品改进中。Elastic 的产品一直在改进,我们一直在倾听社区和客户的声音,用户其实有很多诉求,功能,性能,可用性各方面,作为开源软件厂商,这些也都必须要考虑到,Elastic Stack 最近刚发布了全新的 6.0 版本,比如就有新增了用户经常反馈需要将搜索结果导出到 CSV 的功能,还有对视觉障碍更加友好的颜色和对比度,完善的键盘导航支持,屏幕读取文字转语音等这些人性化功能。

2、Elastic Stack 总部在美国,很多读者朋友很好奇您的工作方式是怎样的?是远程办公吗?两地的时间差会不会导致沟通效率下降?

我们的工作方式确切的说是分布式办公,elastic 现在全球员工超过 600 人,分布于 30 多个国家和地区,大家可以选择自己最舒适的地方进行办公,时间差肯定有,所以我们的工作内容大部分都以异步方式进行处理,也用了很多的工具来进行协同,平时线上视频会议比较多,每年也有多次的线下面对面交流,从我们软件发版的速度大家应该可以看到,我们的效率是非常高的。

3、在大数据场景下,ELK 一经推出就变得非常流行。ELK 在大数据场景下有怎样的定位?解决了用户什么样的痛点?

ELK 一推出,最开始是在运维圈子里面火了起来,因为大家之前都没有很好的工具来进行运维的日志分析,ELK 由三个产品组成,Elasticsearch 负责海量数据的存储和搜索,Logstash 负责各种来自各种数据源的日志采集,而 Kibana 则很方便让你快速进行分析,三个组合在一起,一个完整的日志分析的解决方案就有了,不用编写一行代码。随着用户的众多,各种场景也被进一步挖掘出来,刚好最近几年也是大数据比较火热的时候,大家都在使用各种大数据的产品,然后发现 Elasticsearch 就有处理海量数据的能力,几十百 TB 也处理起来也很正常,并且比 Hadoop 要更方便,速度更快。

4、提到大数据,就不得说 Hadoop 生态圈。对比 Hadoop 生态圈和 ELK,您觉得它们各自有什么样的优势和缺点?

Elasticsearch 和 Hadoop 不一样,他不是一个编程框架,也不是一个需要你编写大量代码才能开始用的计算引擎,Elasticsearch 也是分布式架构,它提供了开箱即用的各种功能,比如搜索,你只需要构建 QueryDSL 查询就能拿到你想要的结果,再比如聚合,我们提供了常见的聚合操作,和搜索一样简单,所以,作为用户你可以花更多时间在业务上,而不用在具体的底层实现上花费大量的时间。另外 Elastic Stack 其他产品组合在一起,能够更好的在一起工作,从接入到最终分析展现都是现成的。这个是两相比较,Elastic 产品易用性上的优势。

还有一个就是,Elasticsearch 的速度 要快的多。Elasticsearch 天然的索引支持,能够在秒级甚至毫秒级别对海量的数据进行探索,这个是 Hadoop 及之上的系统所远远达不到的。Elasticsearch 同样也支持海量的数据,目前上 PB 规模的用户已有很多了,对于大部分的用户,数据规模其实达不到真正意义的海量,所以使用 Elasticsearch 完全就可以轻松解决大部分的场景需求,并且更加简单。

Elasticsearch 没有提供 Map Reduce 这种可以进行更加灵活的数据操作,不能作为一个任意的分布式计算平台,虽然也提供 script 支持,但是还是有一些局限,这个是 Elastic 设计的一个权衡,支持的特性,必须速度第一。

其实还有很多区别,比如同样都是分布式,Elasticsearch 部署和运维要更加简单等等。当然作为用户来说,我觉得要看其具体需求,了解各自的适用场景然后再进行选择。

5、作为 ELK 的核心组件,Elasticsearch 的最新版本已经是6.x,可谓发展迅猛。我很想知道,ES 在快速发展的背后,有没有踩过坑?或者有没有让您觉得有纪念意义的故事?

Elasticsearch 发展很快,甚至大家都觉得有点太快而不适应,软件公司发版都快赶上互联网公司产品的发版了。

作为产品,这个好事,有很多都是需求推动,恰恰说明我们产品的接受度非常高,很受大家的欢迎。

踩坑那是必然的,Elastic 一路走来踩了不少坑,一开始引入了 type 这概念,产生了很多误用引起的问题。对用户造成的困扰和产品的使用影响都是巨大的,所以在 6.0 我们已经不支持多个 Type 了,7.0 会完全移除。当然有很多值得纪念的里程碑的事件,第一个要数废弃 facts 和 aggregation 聚合的引入, 从此 Elasticsearch 不单是一个搜索引擎,更是分析引擎,第二个,要算 doc values 的引入,更快、更少占内存、同时更加稳定。在这次大会上也会介绍我们这一路走来的林林总总,欢迎关注。

6、从企业级分布式搜索,到大数据应用场景,ELK 有没有在其他的热门场景做一些探索?或者说它的下一步规划是什么?

Elastic Stack 除了分布式搜索和大数据应用场景,在很多领域都有广泛应用,比如 SIEM 领域,有很多公司用来进行安全方面的数据分析,做企业防入侵检测、异常流量分析、用户行为分析等。比如现在流行的 AIOPS,也有很多底层就是基于 Elasticsearch的。 除此之外,还有很多拿来替换 Zabbix、Nagios 来做基础设施监控,有一些公司是用来做业务指标分析。最近我们推出了 APM 的开源组件,未来应该会有很多公司用来进行应用性能分析。除了这几个主要的热门场景,其他的应用场景也真是五花八门。有用来做物联网数据分析的,什么电网使用量分析预测。还有做基因数据分析的。有用来实时监测伊波拉疫情,疾控预防。舆情监控等等。太多了就不一一列举了。

7、作为 GIAC 大数据平台专题的讲师,能否简单透露一下您将要给听众带来哪些值得期待的内容?

这次分享主要会介绍 Elastic Stack 各产品一路走来的架构演进和主要的变化。曾经遇到的问题和如何解决的。也会介绍一些典型的使用场景,方便大家发散思维。另外会对未来的产品的演进方向做一个展望,总结过去、现在和未来,对我们产品感兴趣、想知道拿来都能干什么以及以后将会怎么样,都可以过来了解一下。

8、最后,您对 GIAC 有什么寄语或者期望?

这是我第一次参加 GIAC,希望能够跟大家多多交流,也希望 GIAC 作为一个平台,能够起到传播技术、引领潮流,能够带来更多的思想碰撞。

本期 GIAC 大会上,大数据平台部分精彩的议题如下:

0_wx_fmt_jpeg

注:出品人及演讲议题以最新官网为准,全部最新演讲议题请点击“阅读原文”至官网查看。参加 GIAC,盘点年底最新技术,目前单人购买优惠 600 元,多人购买有更多优惠。点击“阅读原文”了解大会更多详情。