在 Splunk 中显示多个搜索查询的结果计数 table

Display result count of multiple search query in Splunk table

我想在我的仪表板中显示一个 table,其中包含 3 列,分别称为 Search_Text、计数、Count_Percentage

如何制定 Splunk 查询,以便可以 Table 格式显示 2 个搜索查询及其结果计数和百分比。

示例,

Heading       Count   Count_Percentage
SearchText1   4       40
SearchText2   6       60

下面的查询将创建一个名为 SearchText1 的列,这不是我想要的:

index=something "SearchText1" |统计计数 AS SearchText1

将每个查询放在 append 中的第一个查询之后,并根据需要设置标题字段。然后使用stats命令对结果进行统计并按标题分组。最后,获取总数并计算百分比。

index=foo "SearchText1" | eval Heading="SearchText1"
| append [ | search index=bar "SearchText2" | eval Heading="SearchText2" ]
| stats count as Count by Heading
| eventstats sum(Count) as Total
| eval Count_Percentage=(Count*100/Total)
| table Heading Count Count_Percentage

显示缺少搜索结果有点棘手,需要稍微改变一下上面的查询。每个搜索都需要自己的 stats 命令和一个 appendpipe 命令来检测缺少的结果并创建一些。试试这个:

index=main "SearchText1" 
| eval Heading="SearchText1" 
| stats count as Count by Heading 
| appendpipe 
    [ stats count 
    | eval Heading="SearchText1", Count=0
    | where count=0 
    | fields - count] 
| append 
    [| search index=main "SearchText2" 
    | eval Heading="SearchText2" 
    | stats count as Count by Heading 
    | appendpipe 
        [ stats count 
        | eval Heading="SearchText2", Count=0
        | where count=0 
        | fields - count] ] 
| eventstats sum(Count) as Total 
| eval Count_Percentage=(Count*100/Total) 
| table Heading Count Count_Percentage