fluentd损失了毫秒,现在日志消息在elasticsearch中被无序存储

我正在使用fluentd将日志消息集中在elasticsearch中,并使用kibana对其进行查看。当我查看日志消息时,在同一秒内发生的消息是乱序的,@

timestamp中的毫秒数全为零

2015-01-13T11:54:01.000-06:00   DEBUG   my message

我如何流利地存储毫秒?

回答:

fluentd当前不支持亚秒级分辨率:https :

//github.com/fluent/fluentd/issues/461

我通过使用record_reformer向所有日志消息添加新字段来存储自纪元以来的纳秒来解决此问题

例如,如果您的流利性输入如下:

#

# Syslog

#

<source>

type syslog

port 5140

bind localhost

tag syslog

</source>

#

# Tomcat log4j json output

#

<source>

type tail

path /home/foo/logs/catalina-json.out

pos_file /home/foo/logs/fluentd.pos

tag tomcat

format json

time_key @timestamp

time_format "%Y-%m-%dT%H:%M:%S.%L%Z"

</source>

然后将其更改为如下所示,并添加一个record_reformer,该记录添加一个纳秒级的字段

#

# Syslog

#

<source>

type syslog

port 5140

bind localhost

tag cleanup.syslog

</source>

#

# Tomcat log4j json output

#

<source>

type tail

path /home/foo/logs/catalina-json.out

pos_file /home/foo/logs/fluentd.pos

tag cleanup.tomcat

format json

time_key @timestamp

time_format "%Y-%m-%dT%H:%M:%S.%L%Z"

</source>

<match cleanup.**>

type record_reformer

time_nano ${t = Time.now; ((t.to_i * 1000000000) + t.nsec).to_s}

tag ${tag_suffix[1]}

</match>

然后将time_nano字段添加到您的kibana仪表板中,并使用它而不是@timestamp进行排序,一切都会井井有条。

以上是 fluentd损失了毫秒,现在日志消息在elasticsearch中被无序存储 的全部内容, 来源链接: utcz.com/qa/423113.html

回到顶部