【问题标题】:Combining the results from 2 indexes in splunk query在 splunk 查询中结合 2 个索引的结果
【发布时间】:2021-02-12 18:23:43
【问题描述】:

我有一个索引 idx1 和另一个索引 idx2 以及一个公共列“A”,需要对其进行匹配。

我在合并两列数据时遇到了困难。 我必须以这样的方式组合数据,如果有重复,那么来自 idx1 的数据必须优先于来自 idx2 的数据;即基本上相当于集合操作 [a+(b-a)]。

我尝试了以下方法:

| set diff  [ search index=idx2 sourcetype=src | dedup A ] [search index=idx1 sourcetype=src | dedup A ]
| stats count BY index A
| table index A

在这里我得到了 10840 个统计信息,两列都填满了。

但是当我想显示两个索引中的其他列时,我会得到空列。

执行时:

| set diff  [ search index=1idx1 sourcetype=src | dedup A ] [search index=idx2 sourcetype=src | dedup A ]
    | stats count BY index

我得到的输出为

索引计数 idx1 4791 idx2 6049

谁能帮我怎么办??

我也试过了,但不确定

index=idx1 sourcetype=src
| append [
| set diff  [ search index=idx2 sourcetype=src | dedup A ] [search index=idx1 sourcetype=src | dedup A ]]
    | stats count BY index A
    | table index A

【问题讨论】:

    标签: splunk splunk-query splunk-formula splunk-calculation splunk-sdk


    【解决方案1】:

    如果有两种事件类型共有的字段,那么您可以使用左连接来组合数据。这速度很慢,并受到 50,000 个结果的限制。

    index=1idx1 sourcetype=src | dedup A 
    | join type=outer A [search index=idx2 sourcetype=src | dedup A]
    | ...
    

    使用stats 命令可以更高效地合并结果,但这不符合索引 A 胜过索引 B 的要求。

    【讨论】:

      【解决方案2】:

      我试过这样的:

      index=idx1 sourcetype=src
      | append [search index=idx2 sourcetype=src ]
      | dedup A| table A B C D
      

      idx1 有 4791 个事件

      idx2 有 6049 个事件

      (idx1-idx2) 有 2590 个事件

      (idx2-idx1) 有 3848 个事件

      2 个索引的联合有 8639 个事件

      2 个索引的交集有 2201 个事件

      所以在执行上述查询后,我得到了 8639 个事件

      2590+3848+2201=8639

      我认为它是正确的......

      欢迎提出建议

      【讨论】:

      • dedup 命令保留字段 A 的每个值的第一次出现并丢弃所有其他值。在示例查询中,idx1 先出现,因此从 idx2 中删除 A 的匹配值,这意味着字段 B、C 和 D 的任何对应值都不会被使用。这可能是也可能不是故意的。
      • 我没有明白您所说的“不会使用字段 B、C 和 D 的任何相应值。这可能是也可能不是有意的。”
      • “正确”取决于您想要的最终结果。这还不清楚。如果append 产生两个事件:Index1 A E F GIndex2 A B C D,那么dedup 将丢弃第二行,只留下Index1 A E F G
      • 如果有重复,将 idx1 优先于 idx2 的最佳方法是什么?
      • 在另一个答案中使用左连接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      相关资源
      最近更新 更多