Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie mithilfe metrischer Mathematik eine Skalierungsrichtlinie für die Zielverfolgung
Mithilfe metrischer Mathematik können Sie mehrere CloudWatch Metriken abfragen und mathematische Ausdrücke verwenden, um neue Zeitreihen auf der Grundlage dieser Metriken zu erstellen. Sie können die resultierenden Zeitreihen in der CloudWatch Konsole visualisieren und sie zu Dashboards hinzufügen. Weitere Informationen zur metrischen Mathematik finden Sie unter Verwenden von metrischer Mathematik im CloudWatch Amazon-Benutzerhandbuch.
Für metrische mathematische Ausdrücke gelten folgende Überlegungen:
-
Sie können jede verfügbare CloudWatch Metrik abfragen. Jede Metrik ist eine eindeutige Kombination aus Metrikname, Namespace und null oder mehr Dimensionen.
-
Sie können einen beliebigen arithmetischen Operator (+ - */^), jede statistische Funktion (wie AVG oderSUM) oder eine andere Funktion verwenden, die diese CloudWatch Funktion unterstützt.
-
Sie können sowohl Metriken als auch die Ergebnisse anderer mathematischer Ausdrücke in den Formeln des mathematischen Ausdrucks verwenden.
-
Alle Ausdrücke, die in einer metrischen Spezifikation verwendet werden, müssen letztendlich eine einzige Zeitreihe ergeben.
-
Sie können überprüfen, ob ein metrischer mathematischer Ausdruck gültig ist, indem Sie die CloudWatch Konsole oder die verwenden. CloudWatch GetMetricDataAPI
Anmerkung
Sie können mithilfe von metrischer Mathematik nur dann eine Skalierungsrichtlinie für die Zielverfolgung erstellen, wenn Sie AWS CLI AWS CloudFormation, oder ein verwendenSDK. Dieses Feature ist auf der Konsole noch nicht verfügbar.
Beispiel: SQS Amazon-Warteschlangen-Backlog pro Instanz
Um den SQS Amazon-Warteschlangen-Backlog pro Instance zu berechnen, nehmen Sie die ungefähre Anzahl der Nachrichten, die für den Abruf aus der Warteschlange verfügbar sind, und dividieren Sie diese Zahl durch die laufende Kapazität der Auto Scaling Scaling-Gruppe, die der Anzahl der Instances im Bundesstaat entspricht. InService
Weitere Informationen finden Sie unter Skalierungsrichtlinie auf Basis von Amazon SQS.
Die Logik für den Ausdruck lautet wie folgt:
sum of (number of messages in the queue)/(number of
InService
instances)
Dann lauten Ihre CloudWatch Metrikinformationen wie folgt.
ID | CloudWatch metrisch | Statistik | Intervall |
---|---|---|---|
m1 | ApproximateNumberOfMessagesVisible | Summe | 1 Minute |
m2 | GroupInServiceInstances | Durchschnitt | 1 Minute |
ID und Ausdruck Ihrer Metrikberechnung lauten wie folgt.
ID | Expression |
---|---|
e1 | (m1)/(m2) |
Das folgende Diagramm veranschaulicht die Architektur dieser Metrik:
So erstellen Sie mithilfe dieser Metrikberechnung eine Skalierungsrichtlinie für die Zielnachverfolgung (AWS CLI)
-
Speichern Sie den mathematischen Ausdruck der Metrik als Teil einer benutzerdefinierten Metrikspezifikation in einer JSON Datei mit dem Namen
config.json
.Das folgende Beispiel hilft Ihnen bei den ersten Schritten. Ersetzen Sie jeden
user input placeholder
mit Ihren eigenen Informationen.{ "CustomizedMetricSpecification": { "Metrics": [ { "Label": "Get the queue size (the number of messages waiting to be processed)", "Id": "m1", "MetricStat": { "Metric": { "MetricName": "ApproximateNumberOfMessagesVisible", "Namespace": "AWS/SQS", "Dimensions": [ { "Name": "QueueName", "Value": "
my-queue
" } ] }, "Stat": "Sum" }, "ReturnData": false }, { "Label": "Get the group size (the number of InService instances)", "Id": "m2", "MetricStat": { "Metric": { "MetricName": "GroupInServiceInstances", "Namespace": "AWS/AutoScaling", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg
" } ] }, "Stat": "Average" }, "ReturnData": false }, { "Label": "Calculate the backlog per instance", "Id": "e1", "Expression": "m1 / m2", "ReturnData": true } ] }, "TargetValue":100
}Weitere Informationen finden Sie TargetTrackingConfigurationin der Amazon EC2 Auto Scaling API Scaling-Referenz.
Anmerkung
Im Folgenden finden Sie einige zusätzliche Ressourcen, die Ihnen bei der Suche nach Metriknamen, Namespaces, Dimensionen und Statistiken für Metriken helfen können: CloudWatch
-
Informationen zu den verfügbaren Metriken für AWS Services finden Sie im CloudWatch Amazon-Benutzerhandbuch unter AWS Services, die CloudWatch Metriken veröffentlichen.
-
Den genauen Metriknamen, den Namespace und die Dimensionen (falls zutreffend) für eine CloudWatch Metrik mit dem finden Sie unter AWS CLIlist-metrics.
-
-
Um diese Richtlinie zu erstellen, führen Sie den put-scaling-policyBefehl aus und verwenden dabei die JSON Datei als Eingabe, wie im folgenden Beispiel gezeigt.
aws autoscaling put-scaling-policy --policy-name
sqs-backlog-target-tracking-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json
Bei Erfolg gibt dieser Befehl den Amazon-Ressourcennamen (ARN) der Richtlinie und den ARNs der beiden in Ihrem Namen erstellten CloudWatch Alarme zurück.
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/sqs-backlog-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }
Anmerkung
Wenn dieser Befehl einen Fehler auslöst, stellen Sie sicher, dass Sie die AWS CLI lokale Version auf die neueste Version aktualisiert haben.