Fluentd 是 Kubernetes 生态中常用的日志聚合工具,用于集中收集、处理和分析容器日志。其核心功能包括日志格式解析、数据转发以及与监控系统的集成。
核心功能 ✅
- 日志收集:支持从 Kubernetes Pods、Nodes 和 DaemonSets 中实时抓取日志
- 数据过滤:通过插件系统对日志内容进行清洗和转换(如 JSON 解析、字段重命名)
- 多协议输出:可将日志发送至 Elasticsearch、Prometheus、CloudWatch 等存储分析平台
- 水平扩展:通过 Kubernetes Operator 实现自动扩缩容管理
使用场景 🌐
- 多租户集群中统一日志管理
- 实时监控应用性能与错误日志
- 满足合规性要求的审计日志归档
配置示例 🛠️
apiVersion: v1
kind: ConfigMap
metadata:
name: fluentd-config
data:
fluentd.conf: |
<source>
@type tail
path /var/log/containers/*.log
pos_file /var/log/fluentd.pos
time_key_name log_time
tag kubernetes.containers.log
</source>
<match kubernetes.containers.log>
@type elasticsearch
host localhost
port 9200
logstash_format true
logstash_prefix k8s_logs
</match>