Splunk 搜索没有子搜索
Splunk search no subsearch
我有类似的事件:
{
taskId:5a6d
category:created
when:1517131461
...
}
{
taskId:5a6d
category:started
when:1517131609
...
}
{
taskId:5a6d
category:ended
when:1517134657
...
}
对于每个任务(任务 ID 相同),我们在创建/开始/结束时都有事件。
我想搜索是否有任何任务从未被处理(任务已创建但未启动)。这是我的搜索语句:
index=XXX sourcetype=XXX category=created | search NOT [search index=XXX sourcetype=XXX category=started | fields taskId]
如果时间范围小于 48 小时,此语句将正常工作。
如果将时间范围设置为例如最近 7 天,则上述搜索语句将无法正常工作。它 return 有很多任务(类别=已创建),这意味着这些任务永远不会被处理。实际上,它们已被处理,我可以通过 taskId 搜索事件 (category=started)。
我不知道它有什么问题。子搜索似乎 return 在主搜索范围内没有正确的结果。
如果没有看到您的确切数据,这将很难调试。
为了更简单,您可以尝试这样的操作,一次搜索即可完成所有操作:
index=XXX sourcetype=XXX category=created
| eventstats values(category) as categories by taskId
| search categories = created NOT categories = started
我有类似的事件:
{
taskId:5a6d
category:created
when:1517131461
...
}
{
taskId:5a6d
category:started
when:1517131609
...
}
{
taskId:5a6d
category:ended
when:1517134657
...
}
对于每个任务(任务 ID 相同),我们在创建/开始/结束时都有事件。
我想搜索是否有任何任务从未被处理(任务已创建但未启动)。这是我的搜索语句:
index=XXX sourcetype=XXX category=created | search NOT [search index=XXX sourcetype=XXX category=started | fields taskId]
如果时间范围小于 48 小时,此语句将正常工作。 如果将时间范围设置为例如最近 7 天,则上述搜索语句将无法正常工作。它 return 有很多任务(类别=已创建),这意味着这些任务永远不会被处理。实际上,它们已被处理,我可以通过 taskId 搜索事件 (category=started)。
我不知道它有什么问题。子搜索似乎 return 在主搜索范围内没有正确的结果。
如果没有看到您的确切数据,这将很难调试。
为了更简单,您可以尝试这样的操作,一次搜索即可完成所有操作:
index=XXX sourcetype=XXX category=created
| eventstats values(category) as categories by taskId
| search categories = created NOT categories = started