(一):ElasticStack初识

1、Elastic Stack四大金刚 - ELKB

  Elasticsearch: 基于Json的分布式搜索与分析引擎 (搜索、聚合分析、大数据存储)

  Logstash: 动态数据收集管道 (采集,以插件的形式存在)

  Kibana: 提供数据可视化界面,Kibana 是 Elastic 技术栈的窗户。 用 Kibana 搜索、查看、交互存放在 Elastic Stack 里的数据。

  Beats: 轻量级的数据采集器 (因Logstash基于java开发,运行在JVM中,可能会与应用程序发生资源竞争,基于Go语言开发轻量级、即插即用)

2、ElasticSearch

2.1、什么是ElasticSearch

  ElasticSearch作为Elastic Stack的核心,是一个实时的分布式搜索分析引擎,建立在全文搜索引擎库Apache Lucene基础之上。被用作全文检索、结构化搜索、分析。

  ElasticSearch的底层是开源库Lucene,但用户无法直接用Lucene,必须写代码去调用它的接口,Elastic是Lucene的封装,提供了REST API的操作接口,开箱即用,天然的跨平台。

3、Logstash

  Logstash是一个具有实时管道功能的开源数据收集引擎,动态地收集来自不同来源的数据,并将数据规范化到指定的地方。Logstash的每个处理过程均已插件的形式实现,Logstash的数据处理过程主要包括: Inputs , Filters , Outputs 三部分:

 

图片

INPUTS:从数据源获取数据,常见的inputs插件如beats、file、kafka、rabbitmq、log4j、redis等

FILTERS:数据过滤,常见的filter插件如grok、mutate、date、drop、clone等

OUTPUTS:数据输出,常见的outputs插件如elasticsearch、file等

4、Beats

Beats是一套轻量级数据采集器,可以从多台机器上采集数据向 Logstash 或 Elasticsearch 发送数据。

Beats是为了替代Logstash的数据采集功能。

Logstash功能很多,依赖Java生态,对系统资源的占用比较多,数据收集的性能表现不佳。

Beats体积小,职责单一、基于go语言开发,具有先天性能优势,不依赖于Java环境,对服务器资源占用极小,对CPU、内存和IO的资源占用极小。

5、Kibana

Kibana 是一个免费且开放的可视化系统,能完成 Elasticsearch 的数据进行可视化,并且可以在 Elastic Stack 中搜索。能够跟踪查询负载、理解请求如何流经整个应用等。

 

 
posted @ 2024-01-18 15:36  无虑的小猪  阅读(98)  评论(0)    收藏  举报