AWS CloudWatch Logs 指标断开图
AWS CloudWatch Logs metrics broken graph
我们已经为 CloudWatch 日志组配置了一个指标过滤器,它为我们的一个进程收集数据。
最初,我们只有一个 ec2 实例与日志组的日志流关联。从日志中检索到的数据很好地显示在图表中。
但是,我们希望将多个实例连接到同一个日志流或日志组。当我们为日志组配置另一个实例时,图形被破坏了:
Broken-Graph
根据我们的观察,这些点似乎只有在它们是从最新实例派生的连续数据时才连接。否则,它只是显示一个点。
显示的所有数据仍然正确。只是它们并非全部连接。有没有办法让所有的点都连接起来?
这是 CloudWatch 图表传达数据点不连续这一事实的方式。无法强制数据点之间的连接。
--更新2022-5-31--
以上仍然是正确答案。无法仅用一条线将数据点与它们之间的间隙连接起来。如果行中有空隙,则表示该时间戳的数据不存在。如果您使用图表衡量的事件从未发生或发布指标时出现问题,则可能会发生这种情况。这两种情况都是有效的。
但是,CloudWatch 于 2018 年 4 月推出了指标数学功能,指标数学支持的函数之一是 FILL
(请参阅下面 this 答案的答案了解如何使用它) .
FILL 不只是连接线来使图表漂亮。它实际上会插入缺失值并将它们插入到图形中(仅图形,而不是实际的数据存储)。这隐藏了 above-mentioned 丢失数据的情况。这可能很好,但它也可能导致问题和意外行为,具体取决于用例。我建议谨慎使用 FILL 函数,并始终在图表中(在标题或图例中)明确说明图表中使用了 FILL。
为了可能遇到这个问题的其他人的利益,在训练深度神经网络的背景下,我发现将周期值更改为更大的值会导致点连接(我将其从 5 秒更改为到 15 分钟)。
这可能是最近添加的功能,但实际上有一种方法可以在 CloudWatch 图表中的不连续数据点之间强制建立连接:您可以使用 metric math。有一个 'FILL' 表达式可以填补时间序列中的空白。
您可以使用 'edit graph' 中的 'Math expression' 按钮添加度量数学表达式 UI:
红线代表一些断断续续的数据点,'FILL' 表达式为您提供了三种填补空白的选项:
标量将用常数值填充间隙(蓝线,间隙设置为 0)。
LINEAR
将在间隙(橙色线)两侧的两点之间执行线性插值。
REPEAT
将重复最后接收到的数据点,直到新数据点到达(绿线)。
一旦您对间隙填充行为感到满意,您可以取消选中 table 中的原始指标行,以便在显示图表时将其隐藏。
我们已经为 CloudWatch 日志组配置了一个指标过滤器,它为我们的一个进程收集数据。
最初,我们只有一个 ec2 实例与日志组的日志流关联。从日志中检索到的数据很好地显示在图表中。
但是,我们希望将多个实例连接到同一个日志流或日志组。当我们为日志组配置另一个实例时,图形被破坏了:
Broken-Graph
根据我们的观察,这些点似乎只有在它们是从最新实例派生的连续数据时才连接。否则,它只是显示一个点。
显示的所有数据仍然正确。只是它们并非全部连接。有没有办法让所有的点都连接起来?
这是 CloudWatch 图表传达数据点不连续这一事实的方式。无法强制数据点之间的连接。
--更新2022-5-31--
以上仍然是正确答案。无法仅用一条线将数据点与它们之间的间隙连接起来。如果行中有空隙,则表示该时间戳的数据不存在。如果您使用图表衡量的事件从未发生或发布指标时出现问题,则可能会发生这种情况。这两种情况都是有效的。
但是,CloudWatch 于 2018 年 4 月推出了指标数学功能,指标数学支持的函数之一是 FILL
(请参阅下面 this 答案的答案了解如何使用它) .
FILL 不只是连接线来使图表漂亮。它实际上会插入缺失值并将它们插入到图形中(仅图形,而不是实际的数据存储)。这隐藏了 above-mentioned 丢失数据的情况。这可能很好,但它也可能导致问题和意外行为,具体取决于用例。我建议谨慎使用 FILL 函数,并始终在图表中(在标题或图例中)明确说明图表中使用了 FILL。
为了可能遇到这个问题的其他人的利益,在训练深度神经网络的背景下,我发现将周期值更改为更大的值会导致点连接(我将其从 5 秒更改为到 15 分钟)。
这可能是最近添加的功能,但实际上有一种方法可以在 CloudWatch 图表中的不连续数据点之间强制建立连接:您可以使用 metric math。有一个 'FILL' 表达式可以填补时间序列中的空白。
您可以使用 'edit graph' 中的 'Math expression' 按钮添加度量数学表达式 UI:
红线代表一些断断续续的数据点,'FILL' 表达式为您提供了三种填补空白的选项:
标量将用常数值填充间隙(蓝线,间隙设置为 0)。
LINEAR
将在间隙(橙色线)两侧的两点之间执行线性插值。REPEAT
将重复最后接收到的数据点,直到新数据点到达(绿线)。
一旦您对间隙填充行为感到满意,您可以取消选中 table 中的原始指标行,以便在显示图表时将其隐藏。