如何在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的源代码。