Splunk - Stats 命令

stats 命令用于计算搜索结果或从索引中检索到的事件的汇总统计信息。stats 命令对整个搜索结果进行操作,并仅返回您指定的字段。

每次调用 stats 命令时,您可以使用一个或多个函数。但是,您只能使用一个 BY 子句。如果使用 stats 命令时没有 BY 子句,则只返回一行,即整个传入结果集的聚合。如果使用 BY 子句,则为 BY 子句中指定的每个不同值返回一行。

下面我们来看看一些常用 stats 命令的示例。

查找平均值

我们可以使用 avg() 函数查找数字字段的平均值。此函数将字段名称作为输入。如果没有 BY 子句,它将给出一条记录,显示所有事件的字段平均值。但是如果使用 by 子句,它将给出多行,具体取决于字段如何按附加新字段分组。

在下面的示例中,我们找到了按与这些文件关联的事件相关的各种 http 状态代码分组的文件的平均字节大小。

Stats1

查找范围

stats 命令可用于使用 range 函数显示数字字段值的范围。我们继续前面的示例,但现在我们在 stats 命令中同时使用 max()、min()range 函数而不是平均值,这样我们就可以通过取最大值和最小值列值的差来查看范围的计算方式。

Stats2

查找平均值和方差

统计重点值(如字段的平均值和方差)也是通过与 stats 命令一起使用适当的函数以与上述类似的方式计算的。在下面的示例中,我们使用函数 mean() & var() 来实现此目的。我们继续使用前面示例中所示的相同字段。结果显示了按事件的 http 状态值组织的行中名为 bytes 的字段值的平均值和方差。

Stats3