我试着解析日志。
如果日志“没有”具有‘特定’(如下面的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, 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)。
那么如何解析日志来过滤和删除事件呢?我该怎么办?
如果有人知道该怎么做,请帮忙。谢谢。
发布于 2016-04-12 14:15:21
您应该能够创建一个过滤器,如:
filter{
if "specific" in [1_3_6_1_6_3_1_1_4_1_0] {
drop{}
}
}如果您希望在没有“特定”的情况下删除消息,则可以将“in”改为“to in”。
如果需要匹配字段开头的“特定”,也可以使用regex匹配:
if [1_3_6_1_6_3_1_1_4_1_0] =~ /^specific.+/ { drop{} }若要将此更改为不匹配“特定的”,请使用!~运算符代替=~。
https://stackoverflow.com/questions/36564613
复制相似问题