在Splunk中我想搜索除了并发超时异常之外的任何异常。并发超时异常在日志中显示为“java.util.concurrent.TimeoutException”或“并发超时异常”。 如果我执行如下查询:
("*exception*" AND (NOT "java.util.concurrent.TimeoutException"))
Splunk将查找不包含“java.util.concurrent.TimeoutException”的所有异常(包括那些包含“并发超时异常”的异常,这是预期的)。但是,我无法弄清楚如何消除“java.util.concurrent.TimeoutException”和“并发超时异常”。当我尝试它似乎消除所有异常,而不仅仅是包含上述两个字符串的异常。
我尝过这样的话:
("*exception*" AND NOT ("java.util.concurrent.TimeoutException" OR "concurrent timeout exception"))
认为它会找到所有例外而不是两个不受欢迎的字符串。如果它们中的任何一个被评估为true,那么该语句将为true,因此我们会发现所有异常,其中!语句为真。
没用。我尝试了其他各种组合,只是玩它无济于事:
("exception" AND (NOT "java.util.concurrent.TimeoutException" OR NOT "concurrent timeout exception"))
有人能指出我在这方面的正确方向还是提到我做错了什么?谢谢。
答案 0 :(得分:1)
@JerryJeremiah的建议应该有效。在您的查询格式化时写出来,它看起来像这样:
("*exception*" AND (NOT "java.util.concurrent.TimeoutException") AND (NOT "concurrent timeout exception"))
或者,为了便于阅读:
("*exception*" AND
(NOT "java.util.concurrent.TimeoutException") AND
(NOT "concurrent timeout exception")
)