利用 EFK 栈实现集中式日志记录
1. 集中式日志记录概述
在处理日志记录时,集中式日志记录是一种重要的技术手段。它可以帮助我们分析收集到的日志记录,发现来自微服务的日志记录并找到相关的日志记录,还能进行根本原因分析。
2. Fluentd 介绍
2.1 Fluentd 概述
历史上,处理日志记录最流行的开源栈之一是 Elastic 的 ELK 栈,它基于 Elasticsearch、Logstash(用于日志收集和转换)和 Kibana。但由于 Logstash 在 Java VM 上运行,需要相对大量的内存。多年来,开发了许多比 Logstash 需要更少内存的开源替代方案,其中之一就是 Fluentd。
Fluentd 由云原生计算基金会(CNCF)管理,与管理 Kubernetes 项目的是同一个组织。因此,Fluentd 成为了在 Kubernetes 中运行的基于开源的日志收集器的自然选择,它与 Elastic 和 Kibana 一起构成了 EFK 栈。
Fluentd 由 C 和 Ruby 混合编写,关键性能部分使用 C,需要灵活性的部分使用 Ruby,例如可以使用 Ruby 的 gem install 命令简单安装第三方插件。
在 Fluentd 中,日志记录作为事件进行处理,包含以下信息:
- 时间字段:描述日志记录的创建时间。
- 标签字段:标识日志记录的类型,Fluentd 的路由引擎使用该标签来确定如何处理日志记录。
- 记录:包含实际的日志信息,以 JSON 对象的形式存储。
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



