首页 > 解决方案 > Splunk 查询不会同时返回两列的值

问题描述

下面的 Splunk 查询仅返回 calc_string 列并为索引列返回空白,如果我删除 ln4 和 ln5 它返回索引。我怎样才能使这个查询返回两列请指教?

索引=车辆* sourcetype=info_ssl splunk_server_group=ALL | 统计值(xx)为 XX 值(yy)为 YY
| eval calc_string=if(isnull(XX), YY, XX) | 表索引 calc_string
| 排序索引

标签: splunk-query

解决方案


使用 stats 命令,您将希望使用 BY 子句为 BY 子句字段中的每个不同值返回一行。

在您的示例中,当使用| stats values(xx)结果集时仅包含yy不带索引的字段值

因此,为了包含索引,我们将使用带有 stats 聚合的 by 子句(最后的第 2 行)

index=vehicle* sourcetype=info_ssl splunk_server_group=ALL 
| stats values(xx) as XX values(yy) as YY BY index
| eval calc_string=if(isnull(XX), YY, XX) 
| table index calc_string
| sort index

如果这解决了您的问题,请花点时间接受答案。这可以通过单击答案旁边的复选标记将其从灰色切换为填充来完成!


推荐阅读