Por que minha chamada da API GetMetricStatistics do CloudWatch não está retornando pontos de dados?

4 minuto de leitura
0

Minha chamada de API “GetMetricStatistics” do Amazon CloudWatch não está retornando nenhum ponto de dados. No entanto, os pontos de dados estão disponíveis no console do CloudWatch.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

O CloudWatch é um serviço regional, portanto, certifique-se de que a chamada de API use a região correta da AWS. O CloudWatch emite a chamada da API GetMetricStatistics com vários argumentos, e esses argumentos devem corresponder às propriedades da métrica. Esses argumentos diferenciam maiúsculas de minúsculas, portanto, certifique-se de que os nomes e os casos correspondam à configuração do console do CloudWatch. Na maioria das vezes, os erros são o resultado de argumentos incorretos.

Dimensões

Se a métrica for criada com várias dimensões, você poderá recuperar os pontos de dados somente se especificar todas as dimensões configuradas. Por exemplo, suponha que você publique uma métrica chamada ServerStats no namespace DataCenterMetric com estas propriedades:

Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105

Para recuperar pontos de dados para essa métrica, especifique as seguintes dimensões:

Server=Prod,Domain=Frankfurt

No entanto, se você especificar apenas uma das duas dimensões, não poderá recuperar os pontos de dados. Veja este exemplo:

Server=Prod

Com o AWS CLI, o formato para especificar dimensões no comando get-metric-statistics é diferente do comando put-metric-data. Certifique-se de usar um formato semelhante ao seguinte:

"Name"=string, "Value"=string

**Observação:**nesse caso, um formato de Name=Value não é bem-sucedido.

Veja o exemplo a seguir de uma chamada get-metric-statistics:

aws cloudwatch get-metric-statistics --metric-name "MyMetric" --start-time 2018-04-08T23:18:00Z --end-time 2018-04-09T23:18:00Z --period 3600 --namespace "MyNamespace" --statistics Maximum --dimensions Name=Server,Value=Prod

Veja o exemplo a seguir de uma chamada put-metric-data:

aws cloudwatch put-metric-data --namespace "MyNamespace" --metric-name "MyMetric" --dimensions Server=Prod --value 10

Período

Se a métrica não for enviada para o valor do período especificado, nenhum ponto de dados será retornado.

Por exemplo, se você ativar o monitoramento básico de uma instância, o Amazon Elastic Compute Cloud (Amazon EC2) enviará pontos de dados a cada cinco minutos. Por exemplo, suponha que o Amazon EC2 empurre os pontos de dados nos carimbos de data e hora 12:00, 12:05, 12:10 e assim por diante. Sua hora de início e término for 12:01 e 12:04 e, em seguida, você tentar recuperar os pontos de dados com um período de 60 segundos. Nesse caso, você não vê nenhum ponto de dados. É uma prática recomendada fazer com que seu horário de início e término se estendam além da granularidade mínima oferecida pela métrica (para esse caso de uso, a granularidade é de 5 minutos). Ou use um período maior ou igual à granularidade mínima oferecida pela métrica.

Estatísticas

Para recuperar estatísticas percentuais de uma métrica, use ExtendedStatistic.

O CloudWatch usa pontos de dados brutos para calcular percentis. Ao publicar dados usando um conjunto de estatísticas, é possível recuperar estatísticas percentuais desses dados somente se uma das seguintes condições for verdadeira:

  • O SampleCount do conjunto estatístico é 1.
  • O mínimo e o máximo do conjunto estatístico são iguais.

Unidade

  • Se a unidade especificada for diferente daquela configurada para a métrica, nenhum ponto de dados será retornado.
  • Se você não especificar o argumento da unidade, os pontos de dados de todas as unidades serão retornados.

Hora de início e hora de término

  • Formate a hora de início e os argumentos da hora de término conforme especificado na documentação do GetMetricStatistics.
  • Se nenhum ponto de dados for enviado para a métrica entre a hora de início e a hora de término, nenhum ponto de dados será retornado.

Observação: os pontos de dados com carimbos de data e hora de 24 horas atrás ou mais podem levar pelo menos 48 horas para serem disponibilizados para get-metric-statistics. Para mais informações, consulte put-metric-data.


Informações relacionadas

Serviços da AWS que publicam métricas do CloudWatch

AWS OFICIAL
AWS OFICIALAtualizada há um ano