Splunk 查询从两个查询中获取不匹配的 ID
Splunk query to get non matching ID from two query
Index=* sourcetype="publisher" namespace="app_1" | table ID message | where message="published"
Index=* sourcetype="consumer" namespace="app_1" | table ID message | where message="consumed"
我想通过比较两个查询来显示不匹配的 ID,我该如何实现。
如果查询 1 提供 100 条记录,查询 2 提供 90 条记录,并且查询 1 中存在所有 90 条记录,我想查看查询 2 中不存在的 10 条记录。
有几种方法可以实现这一结果。
下面统计每个ID的消费者事件和生产者事件的个数,然后显示只发生一次的事件的ID。
index=* sourcetype="publisher" OR sourcetype="consumer" namespace="app_1" ID="*" | stats count by ID | where count<2
在下一个方法中,我们使用子搜索和连接。这样做的好处是可以为您提供完整的活动,而不仅仅是 ID。
index=* sourcetype="publisher" namespace="app_1" ID="*" | join type=outer ID [ search index=* sourcetype="consumer" namespace="app_1" ID="*" | eval does_match=1 ] | where isnull(does_match)
Index=* sourcetype="publisher" namespace="app_1" | table ID message | where message="published"
Index=* sourcetype="consumer" namespace="app_1" | table ID message | where message="consumed"
我想通过比较两个查询来显示不匹配的 ID,我该如何实现。
如果查询 1 提供 100 条记录,查询 2 提供 90 条记录,并且查询 1 中存在所有 90 条记录,我想查看查询 2 中不存在的 10 条记录。
有几种方法可以实现这一结果。
下面统计每个ID的消费者事件和生产者事件的个数,然后显示只发生一次的事件的ID。
index=* sourcetype="publisher" OR sourcetype="consumer" namespace="app_1" ID="*" | stats count by ID | where count<2
在下一个方法中,我们使用子搜索和连接。这样做的好处是可以为您提供完整的活动,而不仅仅是 ID。
index=* sourcetype="publisher" namespace="app_1" ID="*" | join type=outer ID [ search index=* sourcetype="consumer" namespace="app_1" ID="*" | eval does_match=1 ] | where isnull(does_match)