Logstash 配置,“如果消息包含……”

Logstash config, “if message contains…”

所以,假设我有一部分日志行看起来像这样:

Dec 11 13:59:17 172.00.1.00 NPF_OLT_LAB05: clear service affecting Alarm for ONT "100002" at 2019/12/11 13:59:17.28: "ONT Dying Gasp"

而且我必须创建一个执行类似操作的过滤器

filter {
  if ([message]) =~ "NPF_OLT_LAB05"{
   grok{
      match => { "message" => "%{SYSLOGBASE} %{WORD:Alarm_Severity} %{DATA:Message} %{QS:ONT_ID} %{DATA:Time} %{QS:ONT_Message}" }
   }
 }
}

这可能吗?

我想你只需要纠正一点。试试这个

filter {
  if ([message]) =~ /NPF_OLT_LAB05/{

检查以下配置,

filter {
  if "NPF_OLT_LAB05" in [message] {
   grok{
      match => { "message" => "%{SYSLOGBASE} %{WORD:Alarm_Severity} %{DATA:Message} %{QS:ONT_ID} %{DATA:Time} %{QS:ONT_Message}" }
   }
 }
}