以下是一个示例的 filebeat.yml 配置文件,用于收集 Kubernetes 容器的日志:
filebeat.inputs:
- type: container
paths:
- /var/log/containers/*.log
processors:
- add_kubernetes_metadata:
in_cluster: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
该配置文件中,首先定义了一个输入源,类型为 container,表示要收集容器的日志。其中 paths 参数指定了容器日志所在的路径 /var/log/containers/*.log,这里使用了通配符来匹配所有的容器日志文件。
接下来使用 processors 参数来添加 Kubernetes 的元数据信息。这里使用了 add_kubernetes_metadata 处理器,并将参数 in_cluster 设置为 true 表示当前运行在 Kubernetes 集群中。这样就可以自动获取容器名称、命名空间、Pod 名称等元数据信息。
最后配置输出到 Elasticsearch,这里只需要指定 Elasticsearch 的地址即可。如果您想要输出到其他地方,例如 Logstash 或者本地文件系统,则可以修改此处配置。
需要注意的是,在实际生产环境中还需要根据实际情况进行更加详细和精确的配置,例如增加过滤规则、设置采样率等等。




