如何从 fluentbit 中排除 istio sidecar 容器日志

How to exclude istios side-car container logs from fluentbit

我需要从 fluentbit 中排除 istio 的 sidecar 生成的日志。 在官方文档中,我设法找到的关于从 fluentbit 中排除日志的唯一一件事是元数据部分中的注释,我认为这里不适合:

https://docs.fluentbit.io/manual/pipeline/filters/kubernetes#kubernetes-annotations

apiVersion: v1
kind: Pod
metadata:
  name: apache-logs
  labels:
    app: apache-logs
  annotations:
    fluentbit.io/exclude: "true"
spec:
  containers:
  - name: apache
    image: edsiper/apache_logs

有人做过吗?

如果您使用 tail 输入从文件中获取日志,您可能需要依赖 Exclude_Path 选项:https://docs.fluentbit.io/manual/pipeline/inputs/tail .

特别是,如果您查看日志文件名,它应该如下所示:

/path-to-logs/${POD_NAME}_${NAMESPACE}_${CONTAINER_NAME}-${SOME_HASH}

您可能可以尝试一下具有容器名称的部分。我会尝试如下操作:

[INPUT]
     Name             tail
     Path             /var/log/containers/*
     Exclude_Path     /var/log/containers/*_istio-proxy*,/var/log/containers/*_istio-init*
     Parser           docker
     Tag              kube.*
     Mem_Buf_Limit    5MB
     Skip_Long_Lines  On