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 metrica
Utilizzando la matematica metrica, 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 ai dashboard. Per ulteriori informazioni sulla matematica dei parametri, 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 orSUM) o altra funzione che supporti. 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 il. CloudWatch CloudWatch GetMetricDataAPI
Nota
È possibile creare una politica di ridimensionamento del tracciamento degli obiettivi utilizzando la matematica metrica solo se si utilizza il AWS CLI, o un. AWS CloudFormation SDK Questa funzionalità non è ancora disponibile nella console.
Esempio: Amazon SQS queue backlog per istanza
Per calcolare il backlog della SQS coda Amazon per istanza, prendi il numero approssimativo di messaggi disponibili per il recupero dalla coda e dividi tale numero per la capacità operativa del gruppo Auto Scaling, che è 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 informazioni sui parametri sono le seguenti. CloudWatch
ID | CloudWatch metrico | 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 matematica dei parametri al fine di creare una policy di dimensionamento con monitoraggio degli obiettivi (AWS CLI)
-
Memorizza l'espressione matematica della metrica come parte di una specifica metrica personalizzata in un file denominato. JSON
config.json
Utilizza la tabella seguente come guida. Sostituisci ogni
user input placeholder
con 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 TargetTrackingConfigurationAmazon EC2 Auto Scaling API Reference.
Nota
Di seguito sono riportate alcune risorse aggiuntive che possono aiutarti a trovare nomi di metriche, namespace, dimensioni e statistiche per le metriche: CloudWatch
-
Per informazioni sui parametri disponibili per AWS i servizi, consulta i AWS servizi che pubblicano CloudWatch metriche nella Amazon CloudWatch User Guide.
-
-
Per creare questo criterio, esegui il put-scaling-policycomando utilizzando il JSON file come input, come illustrato nell'esempio seguente.
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
In caso di successo, questo comando restituisce l'Amazon Resource Name (ARN) ARNs della policy e i due CloudWatch allarmi creati per tuo conto.
{ "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.