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:标签。

  

posted @ 2024-05-29 20:00  lucky_tomato  阅读(112)  评论(0编辑  收藏  举报