发布自定义指标数据
许多 AWS 服务以 AWS/ 开头的命名空间发布它们自己的指标。您也可以使用自己的命名空间发布自定义指标数据(只要不以 AWS/ 开头即可)。
先决条件
在开始之前,建议您先阅读开始使用适用于 C++ 的 AWS SDK。
下载示例代码并按代码示例入门中所述构建解决方案。
要运行这些示例,您的代码用于发出请求的用户配置文件必须在 AWS 中具有适当的权限(用于服务和操作)。有关更多信息,请参阅提供 AWS 凭证。
发布自定义指标数据
要发布自己的指标数据,请使用 PutMetricDataRequest 调用 CloudWatchClient 的 PutMetricData 函数。PutMetricDataRequest 必须包括数据要使用的自定义命名空间,还必须在 MetricDatum 对象中包含有关该数据点本身的信息。
注意
您无法指定以 AWS/ 开头的命名空间。以 AWS/ 开头的命名空间为 Amazon Web Services 产品预留。
包含
#include <aws/core/Aws.h> #include <aws/monitoring/CloudWatchClient.h> #include <aws/monitoring/model/PutMetricDataRequest.h> #include <iostream>
代码
Aws::CloudWatch::CloudWatchClient cw; Aws::CloudWatch::Model::Dimension dimension; dimension.SetName("UNIQUE_PAGES"); dimension.SetValue("URLS"); Aws::CloudWatch::Model::MetricDatum datum; datum.SetMetricName("PAGES_VISITED"); datum.SetUnit(Aws::CloudWatch::Model::StandardUnit::None); datum.SetValue(data_point); datum.AddDimensions(dimension); Aws::CloudWatch::Model::PutMetricDataRequest request; request.SetNamespace("SITE/TRAFFIC"); request.AddMetricData(datum); auto outcome = cw.PutMetricData(request); if (!outcome.IsSuccess()) { std::cout << "Failed to put sample metric data:" << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully put sample metric data" << std::endl; }
请参阅完整示例
更多信息
-
《Amazon CloudWatch 用户指南》中的使用 Amazon CloudWatch 指标。
-
《Amazon CloudWatch 用户指南》中的 AWS 命名空间。
-
《Amazon CloudWatch API 参考》中的 PutMetricData。