【问题标题】:How to regexp a Kibana filter?如何正则表达式 Kibana 过滤器?
【发布时间】:2017-04-12 17:22:04
【问题描述】:

我想过滤我的 Kibana 日志。在这些字段中有很多堆栈跟踪的 stacktrace。我不想显示一些堆栈跟踪类型。

为此,我添加了一个 Filter out value 堆栈跟踪过滤器,其值如下:

{
  "query": {
    "regexp": {
      "stacktrace": "+ConnectException+"
    }
  }
}

在此处记录:https://www.elastic.co/guide/en/elasticsearch/reference/1.4/query-dsl-regexp-query.html

这个不行,这种情况下所有的ConnectException都找到了,比如:

java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java) ~[na:1.8.0_102]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

【问题讨论】:

  • 我觉得你需要@&~(.*ConnectException)

标签: regex kibana


【解决方案1】:

这里的问题是 - + 是正则表达式中的元字符(. 字符也是如此),因此当您假设时它不会匹配。

您的过滤器需要的是:

{
  "query": {
    "regexp": {
      "stacktrace": "java\.net\.ConnectException.*"
    }
  }
}

(然后将其设置为排除)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2016-09-02
    • 2017-06-19
    相关资源
    最近更新 更多