Filter 在Logstatsh中过滤数据
我当前正在日志存储设置中使用以下过滤器:Filter 在Logstatsh中过滤数据,filter,config,logstash,Filter,Config,Logstash,我当前正在日志存储设置中使用以下过滤器: filter { if [type] == "can_robbery" { csv { columns => ["Date","Time","Transit","Region","Address","City","Province","Postal Code","Country","Robbery Type","Amt Stolen","Recovery Amt","Net Loss","Dye Pac","GPS Give
filter {
if [type] == "can_robbery" {
csv {
columns => ["Date","Time","Transit","Region","Address","City","Province","Postal Code","Country","Robbery Type","Amt Stolen","Recovery Amt","Net Loss","Dye Pac","GPS Given?","Dye Pack Success (Arrest/Stained Money)","Decoy","Weapon Displayed","Follow Robbery Guidelines","Guard/Greeter","Cash Platform Analysis","Aggressive","Arrest Info (from donna)","# of Suspects","# Rob in 2 yrs","Crime Risk","Multi-Robbery with same suspect","Disguise","Employee Related","AMIS","Weapon Used? [Y/N]","Decoy (Given Count)","DyePac (Given Count)","GPS Given","Ancillary used?","Notes"]
separator => ","
}
mutate {
replace => [ "date" , "%{Date} %{Time}" ]
}
}
}
我得到的是:
“@timestamp”:“2014-11-18T16:32:48.807Z”
“类型”:“can_抢劫”
“主持人”:“digitalevidence-ThinkCentre-M58p”
“路径”:“/home/digitalevidence/temp/canada/robloth.csv”
“日期”:“2014年9月29日”
“时间”:“17:50:00”
我想要的是:
“@时间戳”:“2014-09-29T17:50:00.000Z”
“类型”:“can_抢劫”
“主持人”:“digitalevidence-ThinkCentre-M58p”
“路径”:“/home/digitalevidence/temp/canada/robloth.csv”
“日期”:“2014年9月29日”
“时间”:“17:50:00”
我需要在过滤器配置文件中进行哪些更改?最简单的方法是将日期和时间字段合并为一个字段,就像您正在做的那样。我会使用add_字段,并使用更独特的字段名:
mutate {
add_field => [ "myDateTime" , "%{Date} %{Time}" ]
}
该字段将显示为:9/29/2014 17:50:00
然后,可以使用日期过滤器将@timestamp字段替换为新值
date {
match => [ "myDateTime", "mm/dd/YYYY HH:mm:ss" ]
}
(我不是100%同意这个模式,但很接近)
如果在此之后不需要myDateTime,可以将其删除。是否可以将其中一个输入字符串放入日志消息?调试它会很有帮助。此外,如果您想更改时间戳值上的时间,您需要使用日志存储中的
date
过滤器。我有一个csv文件,行条目包括(例如):11/30/2013,10:31:001198,GTA,80 FRONT ST E,Toronto,on,M5E,Canada,Verbal,200,0200,N/G,,No Opportunity,N,None,Yes-可以做得更好,None,SD-CDU,,Y,1,0,Medium,,Y,Y,N,0,0,0,0,“此处有说明和注释”我想使用前两列中的日期和时间作为日志存储中的@timestamp