如何将Filebeat日志格式从JSON改为易读的普通格式?
Filebeat自身日志强制输出JSON格式,如何改为默认易读文本格式?
在Docker部署的Filebeat 8.16.1环境中,即使按官方文档配置基础日志参数,自身日志仍持续输出JSON格式,而非文档标注的默认易读文本格式,可通过以下配置调整:
解决方案
在filebeat.yaml中添加logging.json: false配置项,强制关闭JSON日志格式,修改后的完整配置如下:
logging.level: info logging.to_files: true logging.json: false # 关闭JSON日志,切换为文本格式 logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0640
说明
- 该配置仅作用于Filebeat自身生成的日志,不会影响其采集应用日志的功能
- 修改完成后重启Filebeat容器即可生效:
docker-compose restart filebeat - 生效后日志格式将变为你期望的文本样式:
2017-12-17T18:54:16.242-0500 INFO [example] logp/core_test.go:16 some message.
注:Filebeat 8.x版本默认日志格式为文本,但Docker镜像出于容器日志采集的通用性,默认启用了JSON输出,因此需要显式关闭该配置。
内容的提问来源于stack exchange,提问作者sjf
相关产品推荐
相关产品推荐

