使用“ aws cloudwatch get-metric-widget-image”从AWS CLI获取“ singleValue”图像

时间:2019-08-16 07:43:16

标签: amazon-cloudwatch amazon-cloudwatch-metrics

在AWS控制台中,该指标可见:

enter image description here

我尝试使用AWS CLI(使用Cloudwatch的Source标签中的json)获取相同的图像:

aws cloudwatch get-metric-widget-image --metric-widget '{
    "metrics": [
        [ "AWS/ApiGateway", "Count", "ApiName", "MikeGw", "Resource", "/x/y", "Method", "POST", "Stage", "prod", { "stat": "Sum" } ]
    ],
    "view": "singleValue",
    "period": 300,
    "title": "Number of api calls",
    "setPeriodToTimeRange": true,
    "width": 1430,
    "height": 250,
    "start": "-PT3H",
    "end": "P0D"
}' | jq -r '.MetricWidgetImage' | base64 --decode >| image.png

结果看起来像这样:

enter image description here

它似乎在忽略"view": "singleValue"

如何使用这种方法获得仅可计数的图像?

1 个答案:

答案 0 :(得分:2)

不支持单值窗口小部件。

由于这实际上不是图形,所以它只是一个数字,您可以使用GetMetricData API获取此数字并以其他方式显示它。

或者,如果您不介意获取图形,则可以使用GetMetricWidgetImage API来像获取图形一样获取完整图形,并在图形上使用动态标签将调用总数放入图形图例中。看到这里:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html

这将为您提供与问题相同的图形,但标签将类似于[Sum: 11] Count,而不仅仅是Count