什么是Elastic Stack
Elastic Stack是由ELK演化而来,ELK是三种软件的简称,分别是Elasticsearch、logstash、kibana组成,在发展的过程中,又有新成员Beats的加入,形成了Elastic Stack。
也就是ELK在兼并Beats后形成的新联盟–ELKB是Elastic Stack。
图1:
图2:
Elasticsearch
Elasticsearch是一个基于Java的开源分布式搜索引擎,他的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash
Logstash基于Java,是一个开源的用于收集,分析与存储日志的工具
Kibana
Kibana基于nodejs,也是一个开源的工具。他为Logstash和Elasticsearch提供用于日志分析的web友好界面,可以汇总,分析和搜索重要数据日志。
Beats
Beats是elastic公司开源的一款用于采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称。可以直接把数据发送给Elasticsearch或通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。Beats由如下组成:
- Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,其支
持ICMP (v4 and
v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、MongoDB、Memcache等协议; - Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder;
- Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务;
Beats和Logstash其实都可以进行数据的采集,但是目前主流的是使用Beats进行数据采集,然后使用 Logstash进行数据的分割处理等,早期没有Beats的时候,使用的就是Logstash进行数据的采集。
beats(采集数据)–》Logstash(ETL)–》Elasticsearch(存储与搜索)–》Kibana(数据可视化)
.NET Core使用教程请参考:
关于.Net Core使用Elasticsearch(俗称ES)、Kibana的研究说明
十八、.net core(.NET 6)搭建ElasticSearch(ES)系列之使用Logstash通过Rabbitmq接收Serilog日志到ES…
利用Filebeat+ELK 来收集.Net Core 微服务日志 (一)