Filebeat 6.2无法解析Docker容器的JSON日志

时间:2018-08-10 09:16:57

标签: json docker filebeat

我的应用程序以

之类的json格式登录

{"verified": true, "id": 42, "date": "bla"}

,我想将其作为带有文件信号(6.2.4)的json转发。 但是,由于应用程序在docker内部运行,因此该日志将写入:/ pv / lib / docker / containers // _ json.log

{"log":"{\"verified\": true, \"id\": 42, \"date\": \"bla\"}\r\n","stream":"stdout","time":"2018-08-10T08:13:53.219511878Z"}

因此,现在有一个带有字符串值的json元素log

filebeat解析docker-log文件时,log值的内容被解释为简单的字符串,并且filebeat产生以下输出:

... "log": "{\"verified\": true, \"id\": 42, \"date\": \"bla\"}", "time": "2018-08-10T09:00:15.038787209Z", "stream": "stdout", ...

是否可以在filebeat中解析字段“ log”,以便filebeat输出包含json元素verifiediddate

这是我的配置: filebeat.autodiscover: providers: - type: docker templates: - condition: contains.docker.container.image: logprod config: - type: log paths: - /var/lib/docker/containers/${data.docker.container.id}/*.log json.message_key: log json.add_error_key: true json.keys_under_root: true output.console: enabled: true pretty: true

0 个答案:

没有答案