Logstash使用不同的日志解析不同的操作

时间:2013-05-14 18:00:59

标签: parsing logging elasticsearch logstash

我正在使用Logstash来解析日志。

现在我想要处理与特定正则表达式不同的日志和不同的日志。

Logstash可以实现。

我该如何解决?

我的配置文件是:

input {
stdin {
    type => "stdin-type"
  }
}
filter {

  grok {
    type => "stdin-type"
    patterns_dir=>["./patterns"]
    pattern => "%{PARSE_ERROR}"
    add_tag=>"%{type1},%{type2},%{slave},ERR_SYSTEM"
  }
date
{
replace=>["%{ts}","yyyy/MM/dd-HH:mm:ss.SSS"]
custom_timestamp=>[%{ts}]
}

mutate
{
    type=>"stdin-type"
    replace => ["@message", "%{message}" ]

}


}
output {
  stdout { debug => true debug_format => "json"}
  elasticsearch
{ 
}
}

假设我不想将这些日志放在与正则表达式不匹配的弹性搜索中。可能吗?怎么样?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用过滤器{}部分或输出{}部分中的条件执行此操作:

filter {
    if [field] == "value" {
        drop{}
    }
}

output {
     if [field] != "value" {
         elasticsearch {
              ...
         }
     }
}