docker - 使用 FluentD 将访问日志与应用程序日志分开
问题描述
我的 k8s 集群中有一个 Kong 容器,它将所有日志输出到标准输出,所以我在标准输出中混合了所有日志。有没有办法根据正则表达式标记访问日志而不排除其他日志?
我用过:
<match kubernetes.var.log.containers.kong**>
@type rewrite_tag_filter
<rule>
key log
pattern /.*HTTP.*/
tag access.log
</rule>
</match>
但这似乎排除了其中没有 HTTP 的任何日志,这让我没有我的应用程序日志。我也想保留这些。
解决方案
找到了!保留其他的方法是有一个额外的规则来捕捉它们,就像这样:
<match kubernetes.var.log.containers.kong**>
@type rewrite_tag_filter
<rule>
key log
pattern /HTTP/
tag access.log
</rule>
<rule>
key log
pattern /.*/
tag app.log
</rule>
</match>