我有2个使用Fluentd作为日志驱动程序的docker容器。两者都发送有效的JSON消息。以下是其中的示例:
{"tag":"docker/article-api","log":"{\"level\":\"debug\",\"port\":\":80\",\"time\":\"2020-02-17T17:06:46Z\",\"message\":\"starting the server\"}"}
{"log":"{\"level\":\"info\",\"ts\":1581959205.461808,\"caller\":\"apiserv/main.go:69\",\"msg\":\"Service is ready to listen\"}","tag":"docker/user-api"}
它们是完全不同的,但是我确信两者都是有效的。 当我们使用Stackdriver日志记录时,我想添加等于“ level”值的“ severity”字段。
这是配置文件的一部分,它会造成所有混乱。
<filter **>
@type parser
key_name log
replace_invalid_sequence true
<parse>
@type json
</parse>
</filter>
这就是问题本身。通过过滤器后,第一条日志条目消息将被完全删除,而第二条日志消息将通过。
我尝试指定time_format,但是它似乎根本不起作用。
除此之外,我尝试使用filter docker**
,但它会删除所有有用的条目。它与它无关,但是如果您对导致它的原因有所了解,我将不胜感激
提前谢谢
P.S。如果确实有帮助,我正在使用Google流利的服务。