Kubernetes将JSON日志保存到带有转义引号的文件中。 为什么?

我使用Elasticsearch的Fluentd处理来自Kubernetes的日志,但是我注意到一些JSON日志无法正确索引,因为JSON是以stringforms存储的。

来自kubectl日志的日志如下所示:

{"timestamp":"2016-11-03T15:48:12.007Z","level":"INFO","thread":"cromwell-system-akka.actor.default-dispatcher-4","logger":"akka.event.slf4j.Slf4jLogger","message":"Slf4jLogger started","context":"default"} 

但是,保存在/ var / log / containers / …文件中的日志已经转义引号,并使它们成为string,而不是JSON,这会破坏索引:

 {"log":"{\"timestamp\":\"2016-11-03T15:45:07.976Z\",\"level\":\"INFO\",\"thread\":\"cromwell-system-akka.actor.default-dispatcher-4\",\"logger\":\"akka.event.slf4j.Slf4jLogger\",\"message\":\"Slf4jLogger started\",\"context\":\"default\"}\n","stream":"stdout","time":"2016-11-03T15:45:07.995443479Z"} 

我试图让日志看起来像:

 { "log": { "timestamp": "2016-11-03T15:45:07.976Z", "level": "INFO", "thread": "cromwell-system-akka.actor.default-dispatcher-4", "logger": "akka.event.slf4j.Slf4jLogger", "message": "Slf4jLogger started", "context": "default" }, "stream": "stdout", "time": "2016-11-03T15: 45: 07.995443479Z" } 

你能build议我怎么做吗?