Splunk 统计命令

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

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

下面是一些常用 stats 命令的示例。

求平均值

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

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

Stats1

寻找范围

stats 命令可用于通过使用 range 函数来显示数值字段的值的范围。我们继续前面的例子,但不是平均值,我们现在在 stats 命令中一起使用 max()、min()range 函数,以便我们可以看到范围是通过取最大值和最小值列的值之间的差异来计算的。

Stats2

求均值和方差

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

Stats3