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 su código utilice para realizar las solicitudes debe tener los permisos adecuados en AWS (para el servicio y la acción). Para obtener más información, consulte Proporcionar credenciales de AWS.

Mostrar métricas

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

nota

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

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 de

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 un objeto ListMetricsResult llamando a su función GetMetrics. 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

  • ListMetrics en la Referencia de la API de Amazon CloudWatch.