我们有 Splunk 日志,例如:
ts=20:10:01 id=1 state=first foo=bar
ts=20:10:05 id=1 state=second foo=bar
ts=20:10:06 id=1 state=third foo=bar
ts=20:10:03 id=2 state=first foo=bar
ts=20:11:01 id=3 state=first foo=bar
ts=20:11:03 id=3 state=second foo=bar
ts=20:11:05 id=3 state=third foo=bar
我想找到所有id
没有其他两个状态的东西。在这个例子中,所有id=2
记录的第一个状态,但没有记录其他 2。我正在阅读 JOIN 并发现它只能查看两个事件发生的事件,但我们不能排除这些事件。
index=my-idx foo=bar
| join id type=outer
[search index=my-idx foo=bar NOT (state=second OR state=third) | table id]
| table id
我正在考虑的 Query 应该返回一个不具有state=second
orstate=third
在上面的示例中应该返回的 id 列表id=2