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