logstack 日志技术栈-01-ELK/EFK 入门介绍 ELK+filebeta

常见日志收集方案

1.1、EFK

​在Kubernetes集群上运行多个服务和应用程序时,日志收集系统可以帮助你快速分类和分析由Pod生成的大量日志数据。

Kubernetes中比较流行的日志收集解决方案是Elasticsearch、Fluentd和Kibana(EFK)技术栈,也是官方推荐的一种方案。

1)Elasticsearch:是一个实时的,分布式的,可扩展的搜索引擎,它允许进行全文本和结构化搜索以及对日志进行分析。它通常用于索引和搜索大量日志数据,也可以用于搜索许多不同种类的文档。

2)Kibana:Elasticsearch通常与Kibana一起部署,kibana可以把Elasticsearch采集到的数据通过dashboard(仪表板)可视化展示出来。Kibana允许你通过Web界面浏览Elasticsearch日志数据,也可自定义查询条件快速检索出elasticccsearch中的日志数据。

3)Fluentd:是一个流行的开源数据收集器,我们在 Kubernetes 集群节点上安装 Fluentd,通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,在该集群中对其进行索引和存储。

1.2、ELK Stack

1)Elasticsearch:日志存储和搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

2)Logstash:是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作。)。

3)Kibana :是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

ELK

考虑到聚合端(日志处理、清洗等)负载问题和采集端传输效率,一般在日志量比较大的时候在采集端和聚合端增加队列,以用来实现日志消峰。

1.3、ELK+filebeat

ELK+filebeat

Filebeat(采集)---> Logstash(聚合、处理)---> ElasticSearch (存储+检索)--->Kibana (展示)

1.4、其他方案

ELK日志流程可以有多种方案(不同组件可自由组合,根据自身业务配置),常见有以下:

1)Logstash(采集、处理)---> ElasticSearch (存储)--->Kibana (展示) 2)Logstash(采集)---> Logstash(聚合、处理)---> ElasticSearch (存储)--->Kibana (展示) 3)Filebeat(采集、处理)---> ElasticSearch (存储)--->Kibana (展示) 4)Filebeat(采集)---> Logstash(聚合、处理)---> ElasticSearch (存储)--->Kibana (展示) 5)Filebeat(采集)---> Kafka/Redis(消峰) ---> Logstash(聚合、处理)---> ElasticSearch (存储)--->Kibana (展示)

相关推荐
coderSong25682 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
Mr_Air_Boy3 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
豆沙沙包?3 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
年老体衰按不动键盘4 小时前
快速部署和启动Vue3项目
java·javascript·vue
咖啡啡不加糖4 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
liuyang-neu4 小时前
java内存模型JMM
java·开发语言
UFIT4 小时前
NoSQL之redis哨兵
java·前端·算法
刘 大 望4 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
怀旧,4 小时前
【数据结构】6. 时间与空间复杂度
java·数据结构·算法
大春儿的试验田5 小时前
Parameter ‘XXX‘ not found. Available parameters are [list, param1]
java