如何在fluentd中添加filter

我们的stream畅configuration看起来像这样:

input:

包含一个fluentd/configs.d文件夹

  • input
  • 过滤
  • 产量

在内部input中,我们有两个.conf文件,它们定义了我们的源代码:这是一个.conf文件

 <source> @type tail @label @INGRESS path /var/log/containers/*.log pos_file /var/log/es-containers.log.pos time_format %Y-%m-%dT%H:%M:%S tag kubernetes.* format json keep_time_key true read_from_head true </source> 

另一个configuration具有相同的标签@INGRESS

在我们的filter部分,我们有一些configuration来过滤来自@INGRESS所有来源。 输出部分定义了我们的过滤日志要做什么。

我们的全球fluentd.conf如下所示:

 ## sources @include configs.d/input/docker/*.conf @include configs.d/input/syslog/*.conf ## <label @INGRESS> ## filters @include configs.d/filter/k8s_meta.conf @include configs.d/filter/kibana_transform.conf @include configs.d/filter/k8s_flatten_hash.conf @include configs.d/filter/k8s_record_transform.conf @include configs.d/filter/syslog_record_transform.conf ## ## matches @include configs.d/output/operations.conf @include configs.d/output/applications.conf ## </label> 

所以这一切都在@INGRESS标签内,并且工作正常。 但是现在我们要在同样的两个来源上使用另一个filter。 这个filter也将有一个输出文件(告诉如何处理过滤的日志)。 但是我们只想要这个filter,而不是@INGRESS部分内的其他filter(在fluent.conf中)。

将2个标签添加到源文件并在我们的fluent.conf文件中添加标签是fluent.conf

那么,我们的解决scheme是在每个使用@INGRESS标签的源上添加一个独立的filter和输出文件?

谢谢。

这是github回购与我们用于我们的fluentd的源代码。

Interesting Posts