ElasticStack 是一系列开源产品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等,能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化。其中,Logstash和Beats负责数据的收集,Kibana负责结果数据的可视化展现,Elasticsearch作为核心部分用于数据的分布式存储以及索引。
我们可以使用ElasticStack进行收集并处理任何数据,最为经典的是用于实时日志数据的收集、存储、展现。在此之前,如果实现实时日志的分析,需要经过繁琐的架构设计并且使用多个系统实现,现在只需要使用ElasticStack即可实现功能强大的实时日志分析系统,ElasticStack不仅仅用来做日志分析,它可以处理任何的数据并且进行存储、展现。

全系的Elastic Stack 技术栈包括:


Elasticsearch
Elasticsearch 基于java开发的。是一个开源分布式搜索引擎,它的特点有: 分布式,零配置,自动发现,所以自动分片,所以副本机制,Resful风格接口,多数据,自带搜索负载等。
Logstash
Logstash 基于java开发的,是一个开源的用于收集,分析和存储日志的工具。
Kibana
Kibana 基于nodejs,也是一个开源和免费的工具,Kibana 可以为Logstash 和ElasticSearch 提供的日志分析友好的web界面,可以汇总、分析和搜索重要数据日志。
Beats
Beats 是elastic 公司开源的一款采集系统监控数据的代码agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。
Beats 由如下组成:
Packetbeat: 是一个网络数据包分析器,用于监控,收集网络流量信息,Packetbeat 嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,其支持ICMP(v4 and V6)、DNS、HTTP、Mysql、PoatgreSQL、Redis、 MongoDB 、Memcache 等协议;
Filebeat:用于监控、收集服务器日志文件,其已取代logstash forwarder;
Metricbeat :可定期获取外部系统的监控指标信息,其可以监控,收集Apache 、HAProxy、Mongo 的DB 、Mysql、Nginx、PostgreSQL、Redis、System、Zookeeper等服务;
Winlogbeat :用于监控、收集Windows的日志信息。