划分两个搜索文本的计数

Divide the count of two search texts

当我搜索“SearchText1”时,假设有 20 条记录。

当我搜索“SearchText2”时,有 10 个结果

然后我需要在仪表板中显示单个值“2”

如何制定 Splunk 查询?

我尝试了下面的查询,其中分子计数计算正确但分母计数相关部分有问题:

index=something "searchText1" 
| stats count as NumeratorCount 
| eval numerator=NumeratorCount
| append [ | search index=something "searchText2" 
  | stats count as DenominatorCount 
  | eval denominator=DenominatorCount ]
| eval result=round(if(denominator=0,0,numerator/denominator), 2)
| table result

当您删除 table 命令时,您会看到分子和分母在不同的结果中。 eval命令计算'result'的意思是分子除以NULL,NULL除以分母。

解决方法是使用 appendcols 合并两行,如本例所示。

index=_internal "service_health_monitor"  
| stats count as NumeratorCount 
| eval numerator=NumeratorCount
| appendcols [ | search index=_internal "service_health_metrics_monitor"
  | stats count as DenominatorCount 
  | eval denominator=DenominatorCount ]
| eval result=round(if(denominator=0,0,numerator/denominator), 2)
| table result