As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Obtendo métricas de CloudWatch
Pré-requisitos
Antes de começar, recomendamos que você leia Introdução ao uso do AWS SDK para C++.
Faça o download do código de exemplo e crie a solução conforme descrito emIntrodução aos exemplos de código.
Para executar os exemplos, o perfil de usuário que seu código usa para fazer as solicitações deve ter as permissões adequadas AWS (para o serviço e a ação). Para obter mais informações, consulte Fornecimento de AWS credenciais.
Listar métricas
Para listar CloudWatch as métricas, crie uma ListMetrics
função ListMetricsRequeste chame a CloudWatchClient. Você pode usar o ListMetricsRequest
para filtrar as métricas retornadas por namespace, nome da métrica ou dimensões.
nota
Uma lista de métricas e dimensões publicadas por AWS serviços pode ser encontrada na Referência de CloudWatch métricas e dimensões da Amazon no Guia do CloudWatch usuário da Amazon.
Inclui
#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(); }
As métricas são retornadas em a ListMetricsResultchamando sua GetMetrics
função. Os resultados podem ser paginados. Para recuperar o próximo lote de resultados, chame SetNextToken
o objeto de solicitação original com o valor de retorno da GetNextToken
função do ListMetricsResult
objeto e transmita o objeto de solicitação modificado de volta para outra chamada paraListMetrics
.
Consulte o exemplo completo
Mais informações
-
ListMetricsna Amazon CloudWatch API Reference.