有人能解释一下logstash中的=~运算符吗?

有人能解释一下logstash中的=~运算符吗?,logstash,logstash-configuration,Logstash,Logstash Configuration,以下筛选器与一起失败:给定的配置无效。原因:第23行第1列(字节308)处的任何字符应为/、/,因为末尾缺少“/”。它必须是/path/。似乎logstash将/path之后的所有内容解释为regexp的一部分(如果不是以“/”结尾) 我知道/path/是一个regexp,但是在这种情况下,正斜杠是用来做什么的呢 我的模式是否与任何包含/path的日志行匹配 很遗憾,在中找不到任何内容。这两个/之间的是模式,/只是分隔符,将模式与其余配置分开 因此,如果您有[message]=~/path/,它

以下筛选器一起失败:给定的配置无效。原因:第23行第1列(字节308)处的任何字符应为/、/,因为末尾缺少“/”。它必须是/path/。似乎logstash将/path之后的所有内容解释为regexp的一部分(如果不是以“/”结尾)

  • 我知道/path/是一个regexp,但是在这种情况下,正斜杠是用来做什么的呢
  • 我的模式是否与任何包含/path的日志行匹配

  • 很遗憾,在中找不到任何内容。

    这两个
    /
    之间的是模式,
    /
    只是分隔符,将模式与其余配置分开


    因此,如果您有
    [message]=~/path/
    ,它将检查字段消息是否包含字符串
    path
    。要匹配
    /path
    ,您需要使用
    /\/path/

    Thx。那写在什么地方了吗?@kev没有写清楚。但我可能已经看到了一些logstash配置的示例,所以我想我理解了它。另外,在
    /
    之间编写正则表达式模式的方法也存在于其他地方(请参阅,它与sed以及其他可能的方法一起使用)。
    filter {
        if [message] =~ /path {
            drop { }
        }
    }