ELKB-ElasticSearch-Logstash-Kibana-beats 个人理解
- 2022 年 3 月 13 日
- 筆記
- Centos7, elasticsearch, ELK, JAVA
先说一下ELK,E是ElasticSearch,L是Logstash,K是Kibana,还有一个Beats。按照从采集到展示的顺序介绍下各个组件的作用。
1.Beats
Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。
它可以理解为采集器,通过它可以在客户端采集包括日志文件、系统事件日志、网络数据、运行监控等内容,采集的数据可以发送到Logstash或者ElasticSearch。
2.Logstash
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
它可以理解为采集+数据转换,除了可以接收来自Beats的数据外,还可以自己采集包括文件、网站抓数据(比如github)、http、redis、kafka、log4j等来源的数据。
它采集到的数据可以转换过滤处理,过滤处理支持的方法也有很多,比如:grok、geoip、json、ruby、csv、xml等。
最后他采集的数据可以传输到elasticsearch、mongdb、redis、kafka、文件等。
3.ElasticSearch
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
它可以理解为是一个存储+内容解析+搜索。
存储是可以接收beats或者logstash传输的数据并且存储起来,通过索引将不同传输过来的数据进行隔离,索引可以由beats或者logstash指定创建。
内容解析是指可以同添加各类插件的方式,对内容进行分词解释,如中文分词器,可以对中文进行分词,用于搜索。
搜索是指经过存储和内容解析后可以在elasticsearch进行全文搜索。
当然它的功能远不止这些,对它上述的理解只是概括性的。
4.Kibana
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。
Kibana可以看作是一个ElasticSearch的数据分析平台,可以对ElasticSearch的数据进行查看、搜索、分析、图表等操作,即ElasticSearch的数据可视化操作平台。(上手有点难)