Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea una politica di ridimensionamento del tracciamento degli obiettivi utilizzando la matematica delle metriche
Utilizzando la matematica delle metriche, puoi interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su queste metriche. Puoi visualizzare le serie temporali risultanti nella CloudWatch console e aggiungerle alle dashboard. Per ulteriori informazioni sulla matematica metrica, consulta Using metric math nella Amazon User Guide. CloudWatch
Alle espressioni matematiche dei parametri si applicano le seguenti considerazioni:
-
Puoi interrogare qualsiasi metrica disponibile. CloudWatch Ogni parametro è una combinazione univoca di nome del parametro, spazio dei nomi e nessuna o più dimensioni.
-
È possibile utilizzare qualsiasi operatore aritmetico (+ - */^), funzione statistica (come AVG o SUM) o altra funzione supportata. CloudWatch
-
È possibile utilizzare i parametri e i risultati di altre espressioni matematiche nelle formule dell'espressione matematica.
-
Qualsiasi espressione utilizzata in una specifica dei parametri deve restituire una singola serie temporale.
-
È possibile verificare che un'espressione matematica metrica sia valida utilizzando la console o l'API. CloudWatch CloudWatch GetMetricData
Esempio: backlog della coda di Amazon SQS per istanza
Per calcolare il backlog della coda di Amazon SQS per istanza, prendi il numero approssimativo di messaggi disponibili per il recupero dalla coda e dividi tale numero per la capacità operativa del gruppo con scalabilità automatica, ossia il numero di istanze nello stato InService. Per ulteriori informazioni, consulta Politica di scalabilità basata su Amazon SQS.
La logica dell'espressione è questa:
sum of (number of messages in the queue)/(number of
InService instances)
Quindi le tue informazioni sulla CloudWatch metrica sono le seguenti.
| ID | CloudWatch parametro | Statistic | Periodo |
|---|---|---|---|
| m1 | ApproximateNumberOfMessagesVisible | Somma | 1 minuto |
| m2 | GroupInServiceInstances | Media | 1 minuto |
L'ID dell'operazione matematica sui parametri e l'espressione sono i seguenti.
| ID | Expression |
|---|---|
| e1 | (m1)/(m2) |
Il diagramma seguente illustra l'architettura di questa metrica:
Per utilizzare questa metrica, è necessario eseguire calcoli matematici per creare una politica di ridimensionamento del tracciamento degli obiettivi (AWS CLI)
-
Memorizza l'espressione matematica dei parametri come parte di un specifico parametro personalizzato in un file JSON denominato
config.json.Utilizza la tabella seguente come guida. Sostituisci ogni
user input placeholdercon le tue informazioni.{ "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}Per ulteriori informazioni, consulta TargetTrackingConfiguration Amazon EC2 Auto Scaling API Reference.
Nota
Di seguito sono riportate alcune risorse aggiuntive che possono aiutarti a trovare nomi, namespace, dimensioni e statistiche delle metriche: CloudWatch
-
Per informazioni sulle metriche disponibili per i AWS servizi, consulta i AWS servizi che pubblicano le CloudWatch metriche nella Amazon User Guide. CloudWatch
-
Per ottenere il nome, lo spazio dei nomi e le dimensioni esatti della metrica (se applicabile) per una CloudWatch metrica con il, consulta list-metrics. AWS CLIhttps://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/list-metrics.html
-
-
Per creare questa policy, esegui il comando put-scaling-policy
utilizzando il file JSON come input, come mostrato nel seguente esempio. aws autoscaling put-scaling-policy --policy-namesqs-backlog-target-tracking-scaling-policy\ --auto-scaling-group-namemy-asg--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.jsonIn caso di successo, questo comando restituisce l'Amazon Resource Name (ARN) della policy e gli ARN dei due allarmi creati per tuo conto. CloudWatch
{ "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" } ] }Nota
Se questo comando genera un errore, assicurati di averlo aggiornato AWS CLI localmente alla versione più recente.