Warum gibt mein CloudWatch GetMetricStatistics-API-Aufruf keine Datenpunkte zurück?

Lesedauer: 3 Minute
0

Mein Amazon CloudWatch-API-Aufruf „GetMetricStatistics“ gibt keine Datenpunkte zurück. Die Datenpunkte sind jedoch auf der CloudWatch-Konsole verfügbar.

Lösung

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

CloudWatch ist ein regionaler Service. Stellen Sie daher sicher, dass der API-Aufruf die richtige AWS-Region verwendet. CloudWatch gibt den GetMetricStatistic-API-Aufruf mit mehreren Argumenten aus, die mit den Eigenschaften der Metrik übereinstimmen müssen. Bei diesen Argumenten wird zwischen Groß- und Kleinschreibung unterschieden. Stellen Sie daher sicher, dass die Namen und Groß- und Kleinschreibung in der CloudWatch-Konsolen-Konfiguration übereinstimmen. Fehler sind meistens das Ergebnis falscher Argumente.

Dimensionen

Wenn die Metrik mit mehreren Dimensionen erstellt wurde, können Sie die Datenpunkte für diese nur abrufen, wenn Sie alle konfigurierten Dimensionen angeben. Angenommen, Sie veröffentlichen eine Metrik namens ServerStats im DataCenterMetric-Namensbereich mit den folgenden Eigenschaften:

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

Um Datenpunkte für diese Metrik abzurufen, geben Sie die folgenden Dimensionen an:

Server=Prod,Domain=Frankfurt

Wenn Sie jedoch nur eine der beiden Dimensionen angeben, können Sie die Datenpunkte nicht abrufen. Siehe folgendes Beispiel:

Server=Prod

Für die AWS-CLI unterscheidet sich das Format für die Angabe von Dimensionen im Befehl get-metric-statistics vom Befehl put-metric-data. Achten Sie darauf, ein Format zu verwenden, das dem folgenden ähnelt:

"Name"=string, "Value"=string

Hinweis: In diesem Fall ist das Format Name=Value nicht erfolgreich.

Sehen Sie sich das folgende Beispiel für einen get-metric-statistics-Aufruf an:

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

Sehen Sie sich das folgende Beispiel für einen put-metric-data-Aufruf an:

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

Zeitraum

Wenn die Metrik nicht für den angegebenen Zeitwert übertragen wird, werden keine Datenpunkte zurückgegeben.

Wenn Sie beispielsweise die grundlegende Überwachung für eine Instance aktivieren, überträgt Amazon Elastic Compute Cloud (Amazon EC2) alle fünf Minuten Datenpunkte. Nehmen wir zum Beispiel an, dass Amazon EC2 die Datenpunkte zu den Zeitstempeln 12:00, 12:05, 12:10 usw. weiterleitet. Ihre Startzeit und Endzeit sind 12:01 und 12:04, und versuchen Sie nun, die Datenpunkte mit einem Zeitraum von 60 Sekunden abzurufen. In diesem Fall sehen Sie keine Datenpunkte. Es hat sich bewährt, dass Ihre Start- und Endzeit über die von der Metrik gebotene Mindestgranularität hinausgehen. (Für diesen Anwendungsfall beträgt die Granularität 5 Minuten.) Verwenden Sie alternativ einen Zeitraum, der größer oder gleich der Mindestgranularität ist, die die Metrik bietet.

Statistiken

Verwenden Sie ExtendedStatistic, um Perzentilstatistiken für eine Metrik abzurufen.

CloudWatch verwendet Rohdatenpunkte, um Perzentile zu berechnen. Wenn Sie Daten mithilfe eines Statistiksatzes veröffentlichen, können Sie Perzentilstatistiken für diese Daten nur abrufen, wenn eine der folgenden Bedingungen zutrifft:

  • Der SampleCount des Statistiksatzes ist 1.
  • Min und Max des Statistiksatzes sind gleich.

Einheit

  • Wenn sich die angegebene Einheit von der für die Metrik konfigurierten unterscheidet, werden keine Datenpunkte zurückgegeben.
  • Wenn Sie das Einheitenargument nicht angeben, werden Datenpunkte für alle Einheiten zurückgegeben.

Startzeit und Endzeit

  • Formatieren Sie die Argumente Startzeit und Endzeit wie in der GetMetricStatistics-Dokumentation angegeben.
  • Wenn zwischen der Startzeit und der Endzeit keine Datenpunkte für die Metrik übertragen werden, werden keine Datenpunkte zurückgegeben.

Hinweis: Es kann mindestens 48 Stunden dauern, bis Datenpunkte mit 24 Stunden oder länger zurückliegenden Zeitstempeln für get-metric-statistics verfügbar sind. Weitere Informationen finden Sie unter put-metric-data.


Ähnliche Informationen

AWS-Services, die CloudWatch-Metriken veröffentlichen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren