第2版 前言

本书第1版从出版发行到现在,虽仅过去短短的半年时间,但在这期间,伴随着《中共中央关于制定国民经济和社会发展第十三个五年规划的建议》中国家大数据发展战略的实施,伴随着海量数据管理技术在国民经济以及互联网+、物联网、移动计算等各个领域的广泛应用,分布式大数据搜索与日志挖掘及可视化解决方案正日益受到各行各业人员的普遍关注。开源的、基于Lucene的全文搜索引擎Elasticsearch以其独到的分布式数据处理能力,正发挥着越来越重要的作用。根据国际权威的数据库产品评测机构DBEngines统计,在2016年1月,Elasticsearch已超过Solr等,成为排名第一的搜索引擎类应用。

ELKStack是以Elasticsearch、Logstash、Kibana三个开源软件为主的大数据处理工具集,也是目前开源的最流行的大数据分析解决方案,它为编程人员提供了一个分布式可扩展的信息存储和全文检索机制、基于Logstash的日志处理机制、基于Kibana的挖掘结果可视化的机制。不仅如此,ELK Stack还有Shield(安全和管理插件,如权限控制、加密通信、审计等)、Watcher(性能监控平台等)、Beats(官方提供了用来收集日志的Filebeat、用来收集系统基础设置数据的Topbeat、统计收集网络信息的Packetbeat)等中间件。在实时大数据处理的应用中,上述软件通常配合使用。因此,从实战的角度掌握Elasticsearch、Logstash、Kibana等软件的基本使用方法和技巧,很有必要。

考虑到部分读者对本书第1版的修改意见,我们对其中的部分内容进行了必要的补充和修改、完善。一方面,对ELKStack的最新版本进行了简述,力求反映ELKStack的最新成果;同时,考虑到与本书第1版的内容衔接,对部分使用上无差异的操作,仍旧以Elasticsearch、Logstash、Kibana的经典版本为基础进行介绍。另一方面,对Elasticsearch中涉及索引、检索、统计、Java实现、集群管理的内容(主要涉及第1版中的第2~6章的内容),给出了实例。同第1版一样,本书第2版仍强调实践和面向初学者,并通过实战讲解的方式,让读者更好地了解ELK Stack的应用。全书涵盖ELK Stack简介、文档索引与处理、信息检索与过滤、信息统计与分析、基于Java客户端的Elasticsearch功能实现、Elasticsearch配置与管理、基于Logstash的网络日志处理、基于Kibana的分析结果可视化、应用实例等内容。本书介绍的基于ELKStack架构的分布式大数据搜索与日志挖掘及可视化是入门方案,对有一定基础的中、高级使用者亦有一定的参考和工程应用价值。

全书由高凯提出写作大纲。第1章、第6章和第7章中的部分内容由高凯撰写,其余各章由高莘撰写,最后由高凯完成全书统稿和审校工作。书中部分实验数据集亦由高凯提供。在本书的写作过程中,也得到了多方面的支持与帮助。第2~6章中的实例部分分别由何晓艺、张姗姗、孟天宏、刘多星等参加编写。同时,我们也参考了相关文献和互联网上众多热心网友提供的素材。本书的顺利完成也得益于参阅了大量的相关工作及研究成果,在此谨向这些文献的作者、热心网友,以及为本书提供帮助的老师,特别是那些由于篇幅所限未及在参考文献中提及的相关文献的作者和网站,致以诚挚的谢意和崇高的敬意。

由于我们的学识、水平均有限,书中不妥之处在所难免,恳请广大读者批评指正。

编者