第3版 前言
随着海量数据管理技术在国民经济以及互联网+、物联网、移动计算等各个领域的广泛应用,分布式大数据搜索、日志分析与挖掘、数据可视化、集群管理与性能监控等问题正日益受到IT人员的普遍关注。开源的、基于Lucene的全文搜索引擎Elasticsearch以其独到的分布式数据处理能力,正发挥着越来越重要的作用。根据国际权威的数据库产品评测机构DB-Engines统计,从2016年1月起,Elasticsearch已超过Solr等,成为排名第一的搜索引擎类应用,并且这种成长势头目前仍非常强劲。在Elasticsearch基础上,也衍生出Logstash、Kibana、Beats、X-Pack、ElasticCloud、Security、Alerting、Monitoring、Graph、Reporting、ES-Hadoop等诸多相关组件,它们构成了ElasticStack的核心,为编程人员提供了一个分布式可扩展的信息存储和全文检索机制、基于Logstash的日志处理机制、基于Kibana的挖掘结果可视化机制等。不仅如此,还有Shield(安全和管理插件,如权限控制、加密通信、审计等)、Watcher(性能监控平台等)、Beats(提供了在应用服务器间传输事务信息的分析器PacketBeat、从服务器端传送日志的FileBeat、分时段采集服务器上操作系统和服务的各项指标的MetricBeat、负责传输Windows事件日志的WinlogBeat)等中间件。在实时大数据处理的应用中,上述软件通常配合使用。2017年上半年,谷歌宣布将与Elastic建立合作伙伴关系,以提供用于Elasticsearch和Kibana开源软件的完整版本。除提供免费的服务外,谷歌的服务还将包括仅适用于初创公司的高端订阅功能(如图形分析、警报和商业支持等)。因此,从实战的角度掌握Elasticsearch、Logstash、Kibana、X-Pack、Beats等的入门技巧和基本使用方法,很有必要。
本书第1版《实战Elasticsearch、Logstash、Kibana——分布式大数据搜索与日志挖掘及可视化解决方案》以及本书第2版《大数据搜索与日志挖掘及可视化方案——ElasticStack:Elasticsearch、Logstash、Kibana》,从出版发行到现在,虽时间不长,但已重印了多次。考虑到部分读者对本书第1版、第2版的修改意见,我们对其中的部分内容进行了必要的补充和修改、完善,对ElasticStack5新推出的5.x版本进行了介绍。同本书的第1版和第2版一样,第3版仍强调实践和面向初学者,并通过实战讲解的方式,让读者更好地了解Elasticsearch、Logstash、Kibana、X-Pack、Beats等的应用。除第10章兼顾老版本外,其余章节均在ElasticStack5的基础上完成。全书内容包括Elasticsearch的架构简介、文档索引及管理、信息检索与聚合、面向Java的Elasticsearch Client部分功能实现、Elasticsearch配置与集群管理、基于Logstash的日志处理、基于Kibana的数据分析可视化、基于X-Pack的系统运行监控、基于Beats的数据解析传输、应用实例等。本书介绍的基于ElasticStack5架构的分布式大数据搜索、日志挖掘、可视化、集群管理与性能监控虽都是入门方案,但对有一定基础的中、高级使用者亦有一定的参考和工程应用价值。
本书第3版由高凯提出写作大纲并撰写了第1章,高莘、岳重阳完成了全书其余章节的内容,并由高凯审校了全书。在本书的写作过程中,也得到了多方面的支持与帮助。阮冬茹、高国江、李媚、华宇、何晓艺、张姗姗、孟天宏、刘多星、高成亮、毛雨欣、聂颖杰、韩佳等均提供了协助。在写作过程中,参考了Elastic Stack官方网站https://www.elastic.co/以及互联网上众多热心网友提供的素材。本书的顺利完成也得益于参阅了大量的文献及网上资料。在此谨向这些文献的作者、热心网友以及为本书提供帮助的老师,特别是那些由于篇幅所限未在参考文献中提及的相关文献的作者和网站,致以诚挚的谢意和崇高的敬意。
由于我们的学识、水平均有限,书中不妥之处在所难免,恳请广大读者批评指正。
编者
2017年6月