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”