fluentd解析日志部分json
Posted
技术标签:
【中文标题】fluentd解析日志部分json【英文标题】:fluentd parse log partially json 【发布时间】:2021-06-01 11:05:33 【问题描述】:我在 fluentd 中有一个来自 syslog proto 的源代码,但该行并不完全符合 syslog。
142>May 31 16:22:56 haproxy[77]: "ident":"haproxy","client_ip":"172.20.1.3","c....
我需要先解析json部分,然后再提交到elasticsearch/kibana。
你会怎么做?这让我“无法解析消息数据”
<source>
@type syslog
port 514
tag haproxy-logs
<parse>
@type json
</parse>
key_name log
</source>
我还尝试了一个标准的系统日志输入,但没有解析。和一个带有 json 解析器的过滤器,但没有成功。 谢谢
【问题讨论】:
【参考方案1】:所以我做了两次就让它工作了:
<source>
@type syslog
port 514
tag haproxy-logs
<parse>
@type regexp
expression /(?<jsonmsg>\\".*)/
</parse>
</source>
和
<filter haproxy-logs**>
@type parser
format json
time_key date_time
time_format %d/%b/%Y:%H:%M:%S.
key_name jsonmsg
reserve_data true
</filter>
【讨论】:
以上是关于fluentd解析日志部分json的主要内容,如果未能解决你的问题,请参考以下文章
EFK(elasticsearch + fluentd + kibana)日志系统
FluentD 将日志从 kafka 转发到另一个 fluentD