moa*_*isp 3 logstash logstash-grok
我有这个日志打印日期格式,如下所示:
Run Code Online (Sandbox Code Playgroud)= Build Stamp: 10:45:33 On Apr 4 2014 =
所以我在grok调试器上运行了过滤器,但仍然对如何删除单词On无能为力
grok {
patterns_dir => "./patterns"
match => { "message" => "%{F_TIMESTAMP:timestamp}" }
}
date {
match => [ "timestamp" , "HH:mm:ss MMM d yyyy" , "HH:mm:ss MMM dd yyyy" ]
locale => "en"
}
Run Code Online (Sandbox Code Playgroud)
模式文件,
F_TIMESTAMP %{TIME} \On %{MONTH} +%{MONTHDAY} %{YEAR}
Run Code Online (Sandbox Code Playgroud)
我当前的时间戳输出是
10:45:33 2014年4月4日在grok调试器上.
那我怎样才能使它与logstash @timestamp兼容/匹配?
您可以提取日期时间的每个部分,并在没有On关键字的情
您可以实现以下目标:
filter {
grok {
match => { "message" => "%{F_TIMESTAMP}" }
}
mutate {
add_field => {
"timestamp" => "%{time} %{month} %{monthday} %{year}"
}
}
date {
match => [ "timestamp" , "HH:mm:ss MMM d yyyy" , "HH:mm:ss MMM dd yyyy" ]
locale => "en"
}
mutate {
remove_field => [ "time" ,"month","monthday","year","timestamp"]
}
}
Run Code Online (Sandbox Code Playgroud)
F_TIMESTAMP %{TIME:time}\s*On\s*%{MONTH:month}\s*%{MONTHDAY:monthday}\s*%{YEAR:year}
它对我来说很好.
| 归档时间: |
|
| 查看次数: |
26704 次 |
| 最近记录: |