AWS CloudWatch GetMetricData:"Sum" 缺少没有值的时间点
AWS CloudWatch GetMetricsData: "Sum" misses points on periods without values
我正在从 AWS CloudWatch 查询 GetMetricsData
:
{
StartTime: lastWeek ,
EndTime: today,
MetricDataQueries: [
{
Id: 'invocations',
Label: 'Invocations',
MetricStat: {
Metric: {
Dimensions: [
{
Name: 'FunctionName',
Value: /* FunctionName */,
},
],
MetricName: 'Invocations',
Namespace: 'AWS/Lambda'
},
Period: 60*60*24, // day
Stat: 'Sum',
Unit: 'Count',
},
},
],
}
这是我得到的:
我得到的不是 7 天(即一周)的数据,而是 5 天。我错过了 2 天(如图所示)。
那些缺失的日子没有任何数据。
CloudWatch 不会 returning 没有数据的点。我怎样才能使 Sum
操作 return 成为实际计数 (0
)?
您可以使用度量数学和 FILL 函数将缺失值默认为 0。
您的指标 ID 为 invocations
,因此表达式为:
FILL(invocations, 0)
完整查询类似于:
{
StartTime: lastWeek ,
EndTime: today,
MetricDataQueries: [
{
Id: 'result',
Label: 'Sums with zeros',
Expression: 'FILL(invocations, 0)'
},
{
Id: 'invocations',
Label: 'Invocations',
MetricStat: {
Metric: {
Dimensions: [
{
Name: 'FunctionName',
Value: /* FunctionName */,
},
],
MetricName: 'Invocations',
Namespace: 'AWS/Lambda'
},
Period: 60*60*24, // day
Stat: 'Sum',
Unit: 'Count',
},
},
],
}
这将 return 2 个指标,有零和没有。然后,您可以通过在该 MetricDataQuery 中设置 ReturnData: false
来隐藏原始指标。
详情请看这里:
我正在从 AWS CloudWatch 查询 GetMetricsData
:
{
StartTime: lastWeek ,
EndTime: today,
MetricDataQueries: [
{
Id: 'invocations',
Label: 'Invocations',
MetricStat: {
Metric: {
Dimensions: [
{
Name: 'FunctionName',
Value: /* FunctionName */,
},
],
MetricName: 'Invocations',
Namespace: 'AWS/Lambda'
},
Period: 60*60*24, // day
Stat: 'Sum',
Unit: 'Count',
},
},
],
}
这是我得到的:
我得到的不是 7 天(即一周)的数据,而是 5 天。我错过了 2 天(如图所示)。
那些缺失的日子没有任何数据。
CloudWatch 不会 returning 没有数据的点。我怎样才能使 Sum
操作 return 成为实际计数 (0
)?
您可以使用度量数学和 FILL 函数将缺失值默认为 0。
您的指标 ID 为 invocations
,因此表达式为:
FILL(invocations, 0)
完整查询类似于:
{
StartTime: lastWeek ,
EndTime: today,
MetricDataQueries: [
{
Id: 'result',
Label: 'Sums with zeros',
Expression: 'FILL(invocations, 0)'
},
{
Id: 'invocations',
Label: 'Invocations',
MetricStat: {
Metric: {
Dimensions: [
{
Name: 'FunctionName',
Value: /* FunctionName */,
},
],
MetricName: 'Invocations',
Namespace: 'AWS/Lambda'
},
Period: 60*60*24, // day
Stat: 'Sum',
Unit: 'Count',
},
},
],
}
这将 return 2 个指标,有零和没有。然后,您可以通过在该 MetricDataQuery 中设置 ReturnData: false
来隐藏原始指标。
详情请看这里: