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议我怎么做吗?