第1章 概述
“Starting with version5.0, all of our products—Elasticsearch, Kibana, Beats, Logstash, and X-Pack—are aligned, tested, and released together.The result is a more holistic, more integrated, more excellent experience for users.(1)Elastic Cloud, provision and manage a fleet of Elastic Stack clusters(and X-Packs)on any infrastructure, all while monitoring and managing everything from a single pane of glass;(2)Built and maintained by Elastic engineers, X-Pack is a single extension that integrates handy features you can trust across the Elastic Stack;(3)Beats is a platform for lightweight shippers that send data from edge machinesto Logstash and Elasticsearch;(4)Logstashis a dynamic data collection pipeline with an extensible plugin ecosystem and strong Elasticsearch synergy;(5)Elasticsearch is a distributed, JSON-based search and analytics engine designed for horizontal scalability, maximum reliability, and easy management;(6)Kibana gives shape to your data and is the extensible user interface for configuring and managing all aspects of the Elastic Stack.”——https://www.elastic.co/products
随着大数据、大型电商网站以及Web2.0技术的普及应用,越来越多的软件开发者需处理海量信息的实时索引、检索,完成日志挖掘、可视化、性能监控等和信息检索、大数据搜索、挖掘等相关的业务。虽然Lucene是许多互联网公司的标准信息检索工具之一,但它通常不提供实时检索,不具备良好的可扩展性,一般也不适合针对云计算环境的大数据搜索、挖掘。
Elastic Stack是以Elasticsearch、Logstash、Kibana、Beats等为主的,并涵盖X-Pack、Elastic Cloud、Security(formerly Shield)、Alerting(via Watcher)、Monitoring(formerly Marvel)、Graph、Reporting、ES-Hadoop等大数据处理与集群管理的工具集,也是目前开源的流行大数据分析的解决方案之一。
以Elasticsearch、Logstash、Kibana、Beats、X-Pack等几个开源软件为主的数据处理工具链为编程人员提供了分布式、可扩展的信息存储和基于Lucene6.2.x及以上版本的信息检索机制、基于Logstash的日志处理机制、基于Kibana的挖掘结果可视化、基于Beats的性能监控架构、对Alerting、alert等封装后形成的X-Pack等。在一个典型的使用场景中,可以由Logstash处理日志等信息,并由它充当“数据搬运工”的角色;用Elasticsearch作为后台数据的分布式存储平台和全文检索工具;用Kibana作为前端的可视化展示;用Beats作为采集系统监控数据的代理;用X-Pack完成诸如安全、警告、监视、图形和报告功能等。另外,在基于非结构化数据存储和管理的Elastic Stack中,往往也存储着诸如产品信息、用户资料、文档、日志等可能涵盖对象(实体、人员、角色或者机器等)之间的引用关系的数据,而Graph也提供了可视化数据间关系的有效方法。
Elastic Stack为数据分布式存储、可视化查询和日志解析、系统性能监控等创建了一个功能强大的管道链,它们互相配合,共同完成大数据分析处理工作。现在很多国际知名企业都在使用Elasticsearch完成数据处理工作。例如,GitHub已升级了其代码搜索程序,并将核心架构由Solr转向Elasticsearch; Wikimedia也启用了由Elasticsearch为基础的全新搜索框架。根据国际权威的数据库产品评测机构DB-Engines统计(http://db-engines.com/en), Elasticsearch已超过Solr等,成为排名第一的搜索引擎类应用,且呈快速增长趋势。学习Elastic Stack,对于大数据处理、信息检索及搜索引擎研发、日志处理与分析、挖掘信息可视化、集群性能监控等,具有重要的现实意义。图1.1显示了截至2017年上半年,各搜索引擎类应用的增长速率。
图1.1 各搜索引擎类应用的增长速率