Logstash:要筛选的paser字段内容
我尝试解析日志 如果日志“没有”具有如下“特定”打印,则将删除事件这是Logstash:要筛选的paser字段内容,logstash,Logstash,我尝试解析日志 如果日志“没有”具有如下“特定”打印,则将删除事件这是logstash打印的内容: { "message" => "...", "host" => "10.10.10.20", "@version" => "1", "@timestamp" => "2016-04-12T02:28:18.233Z", "type" => "snmptrap", "1_3_6_1_2_1_1_3_0" => "21 days,
logstash
打印的内容:
{
"message" => "...",
"host" => "10.10.10.20",
"@version" => "1",
"@timestamp" => "2016-04-12T02:28:18.233Z",
"type" => "snmptrap",
"1_3_6_1_2_1_1_3_0" => "21 days, 17:08:57.94",
"1_3_6_1_6_3_1_1_4_1_0" => "specific::userdefined",
}
我只能指定字段的内容(前缀是特定的),而不能指定其字段名(1_3_6_1_6_3_1_1_4_1_0)
那么,如何解析日志以过滤和删除事件呢?我需要做什么
如果有人知道怎么做,请帮忙。谢谢。您应该能够创建一个过滤器,例如:
filter{
if "specific" in [1_3_6_1_6_3_1_1_4_1_0] {
drop{}
}
}
如果您希望在没有“特定”的情况下删除邮件,可以将“in”更改为“not in”
如果需要匹配字段开头的“specific”,也可以使用正则表达式匹配:
if [1_3_6_1_6_3_1_1_4_1_0] =~ /^specific.+/ { drop{} }
要将此更改为与“特定”不匹配,请使用!~运算符代替=~您应该能够创建一个筛选器,例如:
filter{
if "specific" in [1_3_6_1_6_3_1_1_4_1_0] {
drop{}
}
}
如果您希望在没有“特定”的情况下删除邮件,可以将“in”更改为“not in”
如果需要匹配字段开头的“specific”,也可以使用正则表达式匹配:
if [1_3_6_1_6_3_1_1_4_1_0] =~ /^specific.+/ { drop{} }
要将此更改为与“特定”不匹配,请使用!~运算符代替=~您可以共享您的日志和grok模式吗?我的日志如上所述。这是此问题的第三个副本,根本没有帮助。因此您希望根据字段的值删除事件,例如“specific::userdefined”?没错!但是它是基于前缀“specific”的。你能分享你的日志和grok模式吗?我的日志如上所述。这是这个问题的第三个副本,根本没有帮助。所以你想根据字段的值删除事件,例如“specific::userdefined”?没错!但它是基于前缀“specific”