stats - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

stats

使用 stats 创建日志数据的可视化效果,例如条形图、折线图和堆叠面积图。这可以帮助您更有效地识别日志数据中的模式。CloudWatch Logs Insights 为使用 stats 函数以及一个或多个聚合函数的查询生成可视化效果。

例如,Route 53 日志组中的以下查询返回按查询类型显示 Route 53 记录每小时分布的可视化结果。

stats count(*) by queryType, bin(1h)

所有此类查询都可以生成条形图。如果查询使用 bin() 函数,按一个字段对数据随时间的变化进行分组,您还可以查看折线图和堆叠面积图。

可视化时间序列数据

时间序列可视化适用于具有以下特征的查询:

这些查询可以生成折线图、堆叠面积图、条形图和饼图。

示例

有关完整的教程,请参阅教程:运行生成时间序列可视化的查询

以下是更多适用于时间序列可视化的示例查询。

以下查询将生成 myfield1 字段的平均值的可视化(每 5 分钟创建一个数据点)。每个数据点都是前一个五分钟的日志中的 myfield1 值的平均值的聚合。

stats avg(myfield1) by bin(5m)

以下查询根据不同字段生成三个值的可视化(每 5 分钟创建一个数据点)。由于查询包含聚合函数并使用 bin() 作为分组字段,因此生成了可视化。

stats avg(myfield1), min(myfield2), max(myfield3) by bin(5m)

折线图和堆叠面积图限制

如果查询聚合日志条目信息但不使用 bin() 函数,则可以生成条形图。但是,这种查询无法生成折线图或堆叠面积图。有关这些查询类型的更多信息,请参阅可视化按字段分组的日志数据

可视化按字段分组的日志数据

您可以为使用 stats 函数以及一个或多个聚合函数的查询生成条形图。有关更多信息,请参阅Aggregation Functions in the Stats Command

要查看可视化,请运行查询。接下来,选择 Visualization(可视化)选项卡,选择 Line(折线图)旁边的箭头,然后选择 Bar(条形图)。在条形图中,可视化限制为最多 100 个条形。

示例

有关完整的教程,请参阅教程:运行生成按日志字段分组的可视化的查询。以下部分包括更多适用于按字段可视化的示例查询。

以下 VPC 流日志查询针对每个目标地址,查找每个会话所传输的平均字节数。

stats avg(bytes) by dstAddr

您还可以生成每个结果值包含多个条形图的图表。例如,以下 VPC 流日志查询针对每个目标地址,查找每个会话所传输的平均字节数和最大字节数。

stats avg(bytes), max(bytes) by dstAddr

以下查询为每个查询类型查找 Amazon Route 53 查询日志的数量。

stats count(*) by queryType

用于统计数据的函数

CloudWatch Logs Insights 支持统计聚合函数和统计非聚合函数。

stats 命令中使用统计聚合函数,并将其用作其他函数的参数。

函数 结果类型 描述

avg(fieldName: NumericLogField)

number

指定的字段中值的平均值。

count()

count(fieldName: LogField)

number

计算日志事件的数量。count()(或 count(*))对查询返回的所有事件进行计数,而 count(fieldName) 对包含所指定字段名称的所有记录进行计数。

count_distinct(fieldName: LogField)

number

返回字段的唯一值的数量。如果字段具有非常高的基数(包含许多唯一值),则 count_distinct 返回的值只是一个近似值。

max(fieldName: LogField)

LogFieldValue

所查询的日志中此日志字段的值的最大值。

min(fieldName: LogField)

LogFieldValue

所查询的日志中此日志字段的值的最小值。

pct(fieldName: LogFieldValue, percent: number)

LogFieldValue

百分位数指示某个值在数据集中的相对位置。例如,pct(@duration, 95) 返回 @duration 值,95% 的 @duration 值低于此值,5% 的值高于此值。

stddev(fieldName: NumericLogField)

number

指定的字段中值的标准偏差。

sum(fieldName: NumericLogField)

number

指定的字段中值的总和。

统计非聚合函数

stats 命令中使用非聚合函数并将其用作其他函数的参数。

函数 结果类型 描述

earliest(fieldName: LogField)

LogField

从查询的日志中具有最早时间戳的日志事件返回 fieldName 的值。

latest(fieldName: LogField)

LogField

从查询的日志中具有最晚时间戳的日志事件返回 fieldName 的值。

sortsFirst(fieldName: LogField)

LogField

返回在查询的日志中排在第一位的 fieldName 的值。

sortsLast(fieldName: LogField)

LogField

返回在查询的日志中排在最后一位的 fieldName 的值。