使用 "aws cloudwatch get-metric-widget-image" 从 aws CLI 获取 "singleValue" 图像
Getting a "singleValue" image from aws CLI using "aws cloudwatch get-metric-widget-image"
在 AWS 控制台中我可以看到这个指标:
我尝试使用 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
结果如下所示:
好像忽略了"view": "singleValue"
.
我如何使用这种方法获得只是计数的图像?
不支持单值小部件。
由于这不是真正的图表,它只是一个数字,您可以使用 GetMetricData API 获取此数字并以其他方式显示它。
或者,如果您不介意获取图表,您可以像以前一样使用 GetMetricWidgetImage API 获取完整图表,并使用图表上的动态标签将调用总数放入图例。看这里:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html
这将为您提供与问题中相同的图表,但标签将类似于 [Sum: 11] Count
而不仅仅是 Count
.
在 AWS 控制台中我可以看到这个指标:
我尝试使用 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
结果如下所示:
好像忽略了"view": "singleValue"
.
我如何使用这种方法获得只是计数的图像?
不支持单值小部件。
由于这不是真正的图表,它只是一个数字,您可以使用 GetMetricData API 获取此数字并以其他方式显示它。
或者,如果您不介意获取图表,您可以像以前一样使用 GetMetricWidgetImage API 获取完整图表,并使用图表上的动态标签将调用总数放入图例。看这里:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html
这将为您提供与问题中相同的图表,但标签将类似于 [Sum: 11] Count
而不仅仅是 Count
.