我正在尝试处理logstash中的一个nginx访问日志 。
为了让我的时间戳获得毫秒级的准确度,我使用了$msec
variables。 这意味着时间戳的格式1430832725.814
,其中整数部分是UNIX时间戳,小数部分以毫秒为单位。 不幸的是,我找不到可以parsingUNIX时间戳的logstashdate格式 。
有没有另一种方法让nginx以毫秒的精度进行logging? 或者一种获取logstashdatefilter来parsingUNIX时间戳的方法?
UNIX
格式文字可以处理小数秒,所以它将能够parsing$msec
字段。
首先,使用grokfilter将$ msec字段映射到输出字段
grok { match => { "message" =>\[%{GREEDYDATA:unix_timestamp}\] }
然后使用另一个datefilter将其转换为@timestamp字段
date { match => ["unix_timestamp", "UNIX"] }
如果要映射到@timestamp以外的字段,请参阅Logstash参考