Perché la mia chiamata all'API GetMetricStatistics di CloudWatch non restituisce datapoint?

4 minuti di lettura
0

La mia chiamata all'API "GetMetricStatistics" di Amazon CloudWatch non restituisce alcun datapoint. Tuttavia, i datapoint sono disponibili sulla console CloudWatch.

Soluzione

Nota: se ricevi errori durante l'esecuzione dei comandi dell'Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia della linea di comando di AWS.

CloudWatch è un servizio regionale, quindi assicurati che la chiamata API utilizzi la regione AWS corretta. CloudWatch invia la chiamata API GetMetricStatistics con più argomenti e tali argomenti devono corrispondere alle proprietà della metrica. Questi argomenti fanno distinzione tra maiuscole e minuscole, quindi assicurati che i nomi e le maiuscole corrispondano nella configurazione della console CloudWatch. Gli errori sono spesso il risultato di argomentazioni errate.

Dimensioni

Se la metrica viene creata con più dimensioni, puoi recuperare i relativi datapoint solo se specifichi tutte le dimensioni configurate. Ad esempio, ipotizziamo di pubblicare una metrica denominata ServerStats nello spazio dei nomi DataCenterMetric con le seguenti proprietà:

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

Per recuperare i datapoint per questa metrica, specifica le seguenti dimensioni:

Server=Prod,Domain=Frankfurt

Tuttavia, specificando solo una delle due dimensioni non è possibile recuperare i data point. Guarda l'esempio seguente:

Server=Prod

Con l'interfaccia a riga di comando di AWS, il formato per specificare le dimensioni nel comando get-metric-statistics è diverso dal comando put-metric-data. Assicurati di utilizzare un formato simile al seguente:

"Name"=string, "Value"=string

Nota: in questo caso, il formato Name=Value non ha esito positivo.

Vedi il seguente esempio di chiamata 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

Guarda il seguente esempio di chiamata put-metric-data:

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

Periodo

Se la metrica non viene inserita per il valore del periodo specificato, non vengono restituiti datapoint.

Ad esempio, se attivi il monitoraggio di base per un'istanza, Amazon Elastic Compute Cloud (Amazon EC2) invia i datapoint ogni cinque minuti. Ad esempio, supponiamo che Amazon EC2 invii i datapoint con timestamp 12:00, 12:05, 12:10 e così via. L'ora di inizio e l'ora di fine sono 12:01 e 12:04, quindi provi a recuperare i datapoint con un periodo di 60 secondi. In questo caso, non viene visualizzato alcun datapoint. È consigliabile che l'ora di inizio e l'ora di fine si estendano oltre la granularità minima offerta dalla metrica. (In questo caso d'uso, la granularità è di 5 minuti.) In alternativa, utilizza un periodo maggiore o uguale alla granularità minima offerta dalla metrica.

Statistiche

Per recuperare le statistiche percentili di una metrica, usa ExtendedStatistic.

CloudWatch utilizza datapoint grezzi per calcolare i percentili. Quando si pubblicano dati utilizzando un set di statistiche, è possibile recuperare le relative statistiche percentili solo se si verifica una delle seguenti condizioni:

  • Il SampleCount del set di statistiche è 1.
  • I valori Min e Max del set di statistiche sono uguali.

Unità

  • Se l'unità specificata è diversa da quella configurata per la metrica, non vengono restituiti datapoint.
  • Se non specifichi l'argomento dell'unità, vengono restituiti i datapoint per tutte le unità.

Ora di inizio e ora di fine

  • Formatta gli argomenti dell'ora di inizio e dell'ora di fine come specificato nella documentazione di GetMetricStatistics.
  • Se non vengono inseriti datapoint per la metrica tra l'ora di inizio e l'ora di fine, nessun datapoint viene restituito.

Nota: i punti dati con timestamp risalenti ad almeno 24 ore fa possono richiedere almeno 48 ore prima di diventare disponibili per get-metric-statistics. Per ulteriori informazioni, consulta put-metric-data.


Informazioni correlate

Servizi AWS che pubblicano i parametri di CloudWatch

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa