我想过滤我的Kibana日志。在这些中,有很多堆栈跟踪的字段 stacktrace 。我想不要显示一些堆栈跟踪类型。
为此我添加了一个带有以下值的stacktrace的过滤掉值过滤器:
{
"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)
答案 0 :(得分:0)
这里的问题是 - +
是正则表达式中的元字符(.
字符也是如此),因此在您假设时它不匹配。
过滤器需要的是:
{
"query": {
"regexp": {
"stacktrace": "java\.net\.ConnectException.*"
}
}
}
(然后将其设置为排除)