在此用例中如何将正则表达式用于配置文件?

How to use regex for config files in this use case?

我正在使用 LogStash,它接受来自日志文件的数据,日志文件有不​​同类型的日志。

我试过这个:

filter {
  grok {
    match => { "message" => "%{WORD:tag} %{WORD:message} %{WORD:value}
  }
}        

但是没用。

我正在使用 grok 过滤器检查日志行是否为一种格式。

如果 grok 过滤器无法解析日志行(例如 json 行),_grokparsefailure 将添加到标记中。然后,您可以使用此标记来区分两种日志类型。

filter { 
    grok {
        match => {
        "message"=> 
            "tag: %{GREEDYDATA:tag} message: %{GREEDYDATA:message} value: %{WORD:value}"
        }
    }

    if "_grokparsefailure" in [tags] {
        json {
            source => message
        }
    }
}

要测试您的 grok 模式,Grok Constructor 是一个很好的工具。