filebeat配置参数add_kubernetes_metadata
在 Kubernetes 集群中,我们可以使用 Filebeat 来从容器中收集日志,并为每个日志事件添加 Kubernetes 相关的元数据信息,例如 Pod 名称、命名空间、标签等。这样我们就可以更好地分析和理解日志数据。
filebeat.inputs: - type: container paths: # 指定了要收集的容器日志文件的路径。在这个示例中,我们使用了 /var/log/containers/*.log,表示收集路径为 /var/log/containers/ 目录下的所有以 .log 结尾的文件。 - /var/log/containers/*.log # processors: # processors:指定了对输入数据进行处理的处理器列表。 - add_kubernetes_metadata: # add_kubernetes_metadata:指定了使用 add_kubernetes_metadata 处理器。 in_cluster: true # in_cluster:指定了是否在集群内运行 Filebeat。如果设置为 true,Filebeat 会自动获取集群的认证信息,以便连接 Kubernetes API Server matchers: # matchers:指定了用于匹配容器日志路径的规则。 - logs_path: # logs_path:指定了要匹配的容器日志路径。 logs_path: "/var/log/containers/" # logs_path:指定了容器日志路径的匹配规则。在这个示例中,我们使用了 /var/log/containers/,表示匹配以 /var/log/containers/ 开头的路径。
在配置文件中添加了 add_kubernetes_metadata 处理器后,Filebeat 将为每个日志事件添加以下元数据字段:
kubernetes.container.name:容器名称。
kubernetes.pod.name:Pod 名称。
kubernetes.namespace:命名空间。
kubernetes.labels:标签。