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>

相关文档 🔗

Fluentd_Kubernetes