Veröffentlichen von benutzerdefinierten Metriken
Sie können über die AWS CLI oder eine API Ihre eigenen Metriken in CloudWatch veröffentlichen. Sie können statistische Diagramme der veröffentlichten Metriken mit der AWS-Managementkonsole anzeigen.
CloudWatch speichert Daten über eine Metrik als eine Reihe von Datenpunkten. Jeder Datenpunkt verfügt über einen zugewiesenen Zeitstempel. Sie können auch eine aggregierte Gruppe von Datenpunkten, die sogenannte Statistikgruppe veröffentlichen.
Themen
Hochauflösende Metriken
Jede Metrik entspricht einer der folgenden:
-
Standardauflösung; hierbei haben die Daten eine Granularität von einer Minute
-
Hohe Auflösung; hierbei haben die Daten eine Granularität von einer Sekunde
Metriken, die von AWS-Services erstellt werden, haben standardmäßig die Standardauflösung. Wenn Sie eine benutzerdefinierte Metrik veröffentlichen, hat diese entweder die Standardauflösung oder eine hohe Auflösung. Wenn Sie eine hochauflösende Metrik veröffentlichen, speichert CloudWatch diese mit einer Auflösung von 1 Sekunde und Sie können sie in einem Zeitraum von 1 Sekunde, 5 Sekunden, 10 Sekunden, 30 Sekunden oder von einem Vielfachen von 60 Sekunden abrufen und lesen.
Mit hochauflösenden Metriken erhalten Sie genauere Einblicke in die Aktivitäten Ihrer Anwendung, die unter einer Minute liegen. Denken Sie daran, dass jeder PutMetricData-Aufruf einer benutzerdefinierten Metrik in Rechnung gestellt wird, sodass höhere Gebühren entstehen können, wenn Sie häufiger PutMetricData-Aufrufe hochauflösender Metrik ausführen. Weitere Informationen zur Preisgestaltung von CloudWatch finden Sie unter Amazon CloudWatch – Preise
Wenn Sie einen Alarm für eine hochauflösende Metrik festlegen, können Sie einen hochauflösenden Alarm für einen Zeitraum von 10 Sekunden oder 30 Sekunden oder einen regelmäßigen Alarm für einen Zeitraum festlegen, der ein Mehrfaches von 60 Sekunden beträgt. Die Gebühr für hochauflösende Alarme mit einem Zeitraum von 10 oder 30 Sekunden ist höher.
Dimensionen verwenden
In benutzerdefinierten Metriken, wird der Parameter --dimensions häufig verwendet. Eine Dimension macht außerdem deutlich, um welche Metrik es sich handelt und welche Daten darin gespeichert werden. Sie können einer Metrik bis zu 30 Dimensionen zuweisen, und jede Dimension wird durch ein Name-Wert-Paar definiert.
Die Art und Weise, wie Sie eine Dimension angeben, ist bei der Verwendung verschiedener Befehle unterschiedlich. Mit put-metric-data geben Sie jede Dimension als MyName=MyValue an, währen Sie mit get-metric-statistics oder put-metric-alarm das Format Name=MyName, Value=MyValue verwenden. Mit dem folgenden Befehl wird eine Buffers-Metrik mit zwei Dimensionen namens InstanceId und InstanceType veröffentlicht.
aws cloudwatch put-metric-data --metric-name Buffers --namespace MyNameSpace --unit Bytes --value 231434333 --dimensions InstanceId=1-23456789,InstanceType=m1.small
Dieser Befehl ruft die Statistiken für dieselbe Metrik ab. Trennen Sie Namen und Wert einer einzelnen Dimension durch Kommata voneinander ab. Wenn Sie mit mehreren Dimensionen arbeiten, verwenden Sie zwischen einer Dimension und der nächsten ein Leerzeichen.
aws cloudwatch get-metric-statistics --metric-name Buffers --namespace MyNameSpace --dimensions Name=InstanceId,Value=1-23456789 Name=InstanceType,Value=m1.small --start-time 2016-10-15T04:00:00Z --end-time 2016-10-19T07:00:00Z --statistics Average --period 60
Wenn eine einzelne Metrik mehrere Dimensionen enthält, müssen Sie für jede definierte Dimension einen Wert angeben, wenn Sie get-metric-statistics verwenden. Die Amazon-S3-Metrik BucketSizeBytes enthält die Dimensionen BucketName und StorageType, daher müssen Sie beide Dimensionen mit get-metric-statistics angeben.
aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --start-time 2017-01-23T14:23:00Z --end-time 2017-01-26T19:30:00Z --period 3600 --namespace AWS/S3 --statistics Maximum --dimensions Name=BucketName,Value=amzn-s3-demo-bucketName=StorageType,Value=StandardStorage --output table
Um die für eine Metrik definierten Dimensionen anzuzeigen, verwenden Sie den Befehl list-metrics.
Einzelne Datenpunkte veröffentlichen
Wenn Sie einen einzelnen Datenpunkt für eine neue oder bestehende Metrik veröffentlichen möchten, verwenden Sie den Befehl put-metric-data mit einem Wert und Zeitstempel. Die folgenden Aktionen veröffentlichen z. B. jeweils einen Datenpunkt.
aws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 2 --timestamp2016-10-20T12:00:00.000Zaws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 4 --timestamp2016-10-20T12:00:01.000Zaws cloudwatch put-metric-data --metric-namePageViewCount--namespaceMyService--value 5 --timestamp2016-10-20T12:00:02.000Z
Wenn Sie diesen Befehl mit einem neuen Metriknamen aufrufen, erstellt CloudWatch eine Metrik für Sie. Andernfalls verknüpft CloudWatch die Daten mit der vorhandenen Metrik, die Sie angegeben haben.
Anmerkung
Wenn Sie eine Metrik erstellen, kann es bis zu 2 Minuten dauern, bevor Sie Statistiken für die neue Metrik mit dem Befehl get-metric-statistics abrufen können. Es kann jedoch bis zu 15 Minuten dauern, bevor die neue Metrik in der Liste der Metriken angezeigt wird, die mit dem Befehl list-metrics abgerufen wird.
Sie können zwar Datenpunkte mit Zeitstempel mit einer Granularität von einem Tausendstel einer Sekunde veröffentlichen. Doch CloudWatch aggregiert die Daten mit einer minimalen Granularität von einer Sekunde. CloudWatch zeichnet den Durchschnitt (Summe aller Elemente dividiert durch die Anzahl der Elemente) der Werte auf, die für jeden Zeitraum empfangen werden, sowie die Anzahl der Stichproben und den höchsten und den niedrigsten Wert für den gleichen Zeitraum. Die Metrik PageViewCount aus den vorherigen Beispielen enthält z. B. drei Datenpunkte mit Zeitstempeln im Abstand von wenigen Sekunden. Wenn als Zeitraum 1 Minute eingestellt ist, aggregiert CloudWatch die drei Datenpunkte, da sie alle Zeitstempel innerhalb eines 1-Minuten-Zeitraums aufweisen.
Mit dem Befehl get-metric-statistics können Sie Statistiken basierend auf den veröffentlichten Datenpunkten abrufen.
aws cloudwatch get-metric-statistics --namespaceMyService--metric-namePageViewCount\ --statistics "Sum" "Maximum" "Minimum" "Average" "SampleCount" \ --start-time2016-10-20T12:00:00.000Z--end-time2016-10-20T12:05:00.000Z--period 60
Es folgt eine Beispielausgabe.
{ "Datapoints": [ { "SampleCount": 3.0, "Timestamp": "2016-10-20T12:00:00Z", "Average": 3.6666666666666665, "Maximum": 5.0, "Minimum": 2.0, "Sum": 11.0, "Unit": "None" } ], "Label": "PageViewCount" }
Statistikgruppen veröffentlichen
Sie können Ihre Daten zusammenfassen, bevor Sie sie in CloudWatch veröffentlichen. Bei mehreren Datenpunkten pro Minute wird die Anzahl der Aufrufe für put-metric-data durch die Aggregierung der Daten minimiert. Anstatt zum Beispiel den Befehl put-metric-data mehrfach für drei Datenpunkte aufzurufen, die in einem Abstand von drei Sekunden zueinander liegen, können Sie die Daten in einer Statistikgruppe zusammenfassen (= aggregieren), die Sie mit einem Aufruf mit dem Parameter --statistic-values veröffentlichen.
aws cloudwatch put-metric-data --metric-name PageViewCount --namespaceMyService--statistic-values Sum=11,Minimum=2,Maximum=5,SampleCount=3 --timestamp2016-10-14T12:00:00.000Z
CloudWatch benötigt unformatierte Datenpunkte zum Berechnen der Perzentile. Wenn Sie Daten stattdessen mit einer Statistikgruppe veröffentlichen, können Sie nur dann eine Perzentil-Statistik für diese Daten abrufen, wenn eine der folgenden Bedingungen erfüllt ist:
-
Der
SampleCountder Statistikgruppe ist 1. -
MinimumundMaximumder Statistikgruppe sind gleich.
Den Nullwert veröffentlichen
Wenn Ihre Daten seltener erfasst werden und es Zeiträume ohne verknüpfte Daten gibt, können Sie den Wert Null (0) für diesen Zeitraum oder gar keinen Wert veröffentlichen. Wenn Sie durch regelmäßige Aufrufe an PutMetricData den Zustand Ihrer Anwendung überwachen, können Sie Null anstelle von gar keinem Wert veröffentlichen. Sie können beispielsweise einen CloudWatch-Alarm festlegen, der Sie benachrichtigt, wenn Ihre Anwendung nicht alle fünf Minuten Metriken veröffentlicht. Eine solche Anwendung soll für die Zeiträume ohne verknüpfte Daten Nullen veröffentlichen.
Sie können auch Nullen veröffentlichen, wenn Sie die Gesamtzahl der Datenpunkte nachverfolgen möchten, oder um Statistiken, wie z. B. Mindest- und durchschnittliche Datenpunkte, den Wert "0" enthalten sollen.
Veröffentlichen von Metriken beenden
Um die Veröffentlichung benutzerdefinierter Metriken in CloudWatch zu beenden, ändern Sie den Code Ihrer Anwendung oder Ihres Dienstes so, dass PutMetricData nicht mehr verwendet wird. CloudWatch zieht keine Metriken aus Anwendungen ab, es erhält nur das, was darauf verschoben wird. Um die Veröffentlichung Ihrer Metriken zu beenden, müssen Sie sie also an der Quelle stoppen.