ELK-简介【理论知识】
1、软件简介
1.1、简介
之前ELK还是一套 日志分析平台的解决方案 ,它是由Elastic公司开发,管理和维护的三款开源产品Elasticsearch,Logstash和Kibana的首字母缩写,随着该套解决方案的软件生态逐渐壮大,其组件和功
能也渐渐多了起来,尤其是Beats组件的引入,逐渐形成了这个系列的四大支柱,然后公司将这套解决方案重新命名为:Elastic Stack,最新版本8.X。
1.2、官网地址
官方网站:https://www.elastic.co github:https://github.com/elastic 示例网站:https://demo.elastic.co
1.3、软件架构图
1.4、开发语言
java:Elasticsearch、Logstash、Kibana
go:FileBeats
2、架构梳理说明
ELK Stack之所以受欢迎,是因为它满足了 日志管理和分析领域 的需求。监控现代应用程序及其所部署的IT基础设施需要一个日志管理和分析解决方案,该解决方案使工程师能够克服监视高度分布式,动态和纷乱繁杂业务环境的挑战。
ELK Stack通过为用户提供一个强大的平台来提供帮助,该平台可以收集和处理来自多个数据源的数据,将数据存储在一个可随数据增长而扩展的集中式数据存储中,并提供了一组分析数据的工具。
当然,ELK Stack是开源的。随着IT组织青睐开源产品,仅此一项就可以解释ELK Stack的普及。使用开源意味着组织可以更轻松地避免受到供应商约束和招募新人才。开源还意味着一个充满活力的社区,它将不断推动新功能和创新,并在需要时提供帮助。
3、架构组件介绍
3.1、Beats
Beats是安装在边缘主机上的轻型代理,可收集不同类型的数据以转发到堆栈中
3.2、Logstash
Logstash是一个日志聚合器,可从各种输入源收集数据,执行不同的转换和增强功能,然后将数据发送到各种受支持的输出目标
3.3、Elasticsearch
Elasticsearch是基于Apache Lucene搜索引擎的开源全文搜索和分析引擎
3.4、 Kibana
Kibana是在Elasticsearch之上工作的可视化层,为用户提供了分析和可视化数据的能力
3.5、小结
这四个组件在官方的介绍主要分成了两组势力:数据收集和展示 - 数据收集和处理:Beats和Logstash负责数据收集和处理
- 数据搜索和展示:
Elasticsearch索引并存储数据
Kibana提供了用于查询数据和可视化数据的用户界面
这些组件在设计的时候,组件间的交流就非常简单,所以我们只需要简单的几条配置,就可以将不同的组件组合起来实现一个简单而强大的解决方案。而且还可以基于应用场景的不同随意组合,比如日志管理、日志分析、应用监控、故障排除和保护IT环境等
4、使用场景架构图
4.1、【小型场景】beats+logstash+elasticsearch+kibana架构图
对于小型的应用项目开发环境,ELK的四个组件可以实现一个非常经典的组合
4.2、【大型场景】beats+(redis、kafka、rabbitMQ)+logstash+elasticsearch+kibana架构图
对于中大型场景,ELK基于丰富灵活的信息接口将非常多的功能整合到经典组合中,以提高其架构弹性和安全性