Obtención de métricas de CloudWatch - AWS SDK para C++

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Obtención de métricas de CloudWatch

Requisitos previos

Antes de comenzar, le recomendamos que lea Primeros pasos con el AWS SDK para C++.

Descargue el código de ejemplo y compile la solución tal y como se describe en Introducción a los ejemplos de código.

Para ejecutar los ejemplos, el perfil de usuario que utilice tu código para realizar las solicitudes debe tener los permisos adecuados AWS (para el servicio y la acción). Para obtener más información, consulte Proporcionar AWS credenciales.

Mostrar métricas

Para enumerar CloudWatch las métricas, cree una ListMetricsRequesty llame a CloudWatchClient la ListMetrics función. Puede utilizar el objeto ListMetricsRequest para filtrar las métricas devueltas por espacio de nombres, nombre de métrica o dimensiones.

nota

Puedes encontrar una lista de métricas y dimensiones publicadas por AWS servicios en la referencia de CloudWatch métricas y dimensiones de Amazon en la Guía del CloudWatch usuario de Amazon.

Incluye

#include <aws/core/Aws.h> #include <aws/monitoring/CloudWatchClient.h> #include <aws/monitoring/model/ListMetricsRequest.h> #include <aws/monitoring/model/ListMetricsResult.h> #include <iomanip> #include <iostream>

Código

Aws::CloudWatch::CloudWatchClient cw; Aws::CloudWatch::Model::ListMetricsRequest request; if (argc > 1) { request.SetMetricName(argv[1]); } if (argc > 2) { request.SetNamespace(argv[2]); } bool done = false; bool header = false; while (!done) { auto outcome = cw.ListMetrics(request); if (!outcome.IsSuccess()) { std::cout << "Failed to list CloudWatch metrics:" << outcome.GetError().GetMessage() << std::endl; break; } if (!header) { std::cout << std::left << std::setw(48) << "MetricName" << std::setw(32) << "Namespace" << "DimensionNameValuePairs" << std::endl; header = true; } const auto &metrics = outcome.GetResult().GetMetrics(); for (const auto &metric : metrics) { std::cout << std::left << std::setw(48) << metric.GetMetricName() << std::setw(32) << metric.GetNamespace(); const auto &dimensions = metric.GetDimensions(); for (auto iter = dimensions.cbegin(); iter != dimensions.cend(); ++iter) { const auto &dimkv = *iter; std::cout << dimkv.GetName() << " = " << dimkv.GetValue(); if (iter + 1 != dimensions.cend()) { std::cout << ", "; } } std::cout << std::endl; } const auto &next_token = outcome.GetResult().GetNextToken(); request.SetNextToken(next_token); done = next_token.empty(); }

Las métricas se devuelven en a ListMetricsResultmediante una llamada a su GetMetrics función. Los resultados puede que estén paginados. Para recuperar el siguiente lote de resultados, llame a SetNextToken en el objeto de la solicitud original con el valor devuelto de la función GetNextToken del objeto ListMetricsResult y transfiera el objeto de la solicitud modificado a otra llamada a ListMetrics.

Consulte el ejemplo completo

Más información

  • ListMetricsen la referencia de la CloudWatch API de Amazon.