您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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进行排序,一切都会井井有条。

其他 2022/1/1 18:20:16 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶