发布自定义指标数据 - 适用于 C++ 的 AWS SDK

发布自定义指标数据

许多 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; }

请参阅完整示例

更多信息