使用 fluentd 收集数据时的毫秒数
Posted
技术标签:
【中文标题】使用 fluentd 收集数据时的毫秒数【英文标题】:Milliseconds are removed from time when data collected using fluentd 【发布时间】:2015-08-14 12:06:05 【问题描述】:我使用 fluentd 作为数据收集器。但是从时间开始的毫秒数被删除了。您能否建议一个解决方案以在生成的输出中保持毫秒。
只有当我将 logstash_format 指定为 true 时才会解析时间。但是由于这个索引被创建为“Logstash **”,即使我指定了索引名称。如果我没有指定 'logstash_format true ',那么除了时间字段之外的所有内容都会被解析。
这是我的fluentd配置文件,
<source>
type tail
tag json.nwdata
path /etc/td-agent/access.log
pos_file /etc/td-agent/access.log.pos
format json
time_format %Y/%m/%d %H:%M:%S.%L
read_from_head true
time_key time
include_time_key true
</source>
<match json.**>
type elasticsearch
logstash_format true
time_key time
flush_interval 10s # for testing
index_name jsonlog
type_name jsonlogtype
</match>
【问题讨论】:
【参考方案1】:您应该在 time_format
参数中指定毫秒,或者使用这种格式(如果毫秒用点分隔)
time_format %Y/%m/%d %H:%M:%S.%L
或者这个(如果毫秒用逗号分隔)
time_format %Y/%m/%d %H:%M:%S,%L
【讨论】:
您好,我修改了我的问题。即使我以时间格式指定毫秒,解析的时间也不包含毫秒。 那我猜是因为这个open issue,不幸的是。【参考方案2】:不幸的是,截至 2015 年 8 月,Fluentd 不支持毫秒时间。由于很多人都在询问这个功能,这里有一个正在进行的工作。
https://github.com/fluent/fluentd/pull/653【讨论】:
以上是关于使用 fluentd 收集数据时的毫秒数的主要内容,如果未能解决你的问题,请参考以下文章
万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
Nginx容器日志收集方案fluentd+elasticsearch+kilbana