我的示例日志行 -
14.111.26.41,22-MAY-17 20:33:09.694262,325711349,k101P481,1,2,1,1,1
--------------------------
access_date
我在logstash中的过滤器如下所示
date {
match => [ "access_date","dd-MM-yy HH:mm:ss Z"]
target => "@timesstamp"
}
请你帮忙告诉我,我要在哪里拧。
答案 0 :(得分:-1)
我的道歉与困惑。 我已经在 logstash 5.4.0 上重新测试并提出了简单的解决方案。
首先,logstash日期过滤器不会解析微秒。
https://www.elastic.co/guide/en/logstash/5.4/plugins-filters-date.html#plugins-filters-date-match
秒的分数最大精度是毫秒(SSS)。外 那个,附加了零。
因此,以下代码不会解析 22-MAY-17 20:33:09.694262
date {
match => ["access_date", "dd-MMM-yy HH:mm:ss.SSS"]
}
这将导致
{
"path" => "/tmp/sample.csv",
"@timestamp" => 2017-10-10T08:18:39.777Z,
"access_date" => "22-MAY-17 20:33:09.694262",
"@version" => "1",
"host" => "localhost.localdomain",
"message" => "22-MAY-17 20:33:09.694262",
"tags" => [
[0] "_dateparsefailure"
]
}
如果您想使用logstash 日期过滤器,那么您需要将 microsec 缩小为 milisec ,然后使用 SSS 的。
{
"path" => "/tmp/sample.csv",
"@timestamp" => 2017-05-22T11:33:09.694Z,
"access_date" => "22-MAY-17 20:33:09.694",
"@version" => "1",
"host" => "localhost.localdomain",
"message" => "22-MAY-17 20:33:09.694"
}