

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à.

# Creazione di una policy di dimensionamento con monitoraggio degli obiettivi per l'Applicazione di Dimensionamento automatico tramite la matematica dei parametri
<a name="application-auto-scaling-target-tracking-metric-math"></a>

Utilizzando la matematica metrica, è possibile interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su tali metriche. È possibile visualizzare le serie temporali risultanti nella console CloudWatch e aggiungerle al pannello di controllo. *Per ulteriori informazioni sulla matematica dei parametri, consulta [Using metric Math nella](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) 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 (\$1 - \$1/^), funzione statistica (come AVG o SUM) 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 l'API. CloudWatch CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)

**Topics**
+ [

## Esempio: backlog della coda di Amazon SQS per attività
](#metric-math-sqs-queue-backlog)
+ [

## Limitazioni
](#metric-math-limitations)

## Esempio: backlog della coda di Amazon SQS per attività
<a name="metric-math-sqs-queue-backlog"></a>

Per calcolare il backlog della coda di Amazon SQS per attività, prendi il numero approssimativo di messaggi disponibili per il recupero dalla coda e dividi tale numero per il numero di attività Amazon ECS attive nel servizio. Per ulteriori informazioni, consulta [Amazon Elastic Container Service (ECS) Auto Scaling using custom](https://aws.amazon.com/blogs/containers/amazon-elastic-container-service-ecs-auto-scaling-using-custom-metrics/) metrics sul AWS Compute Blog.

La logica dell'espressione è questa:

 `sum of (number of messages in the queue)/(number of tasks that are currently in the RUNNING state)`

Quindi le informazioni sui CloudWatch parametri sono le seguenti.


| ID | CloudWatch parametro | Statistic | Periodo | 
| --- | --- | --- | --- | 
| m1 | ApproximateNumberOfMessagesVisible | Somma | 1 minuto | 
| m2 | RunningTaskCount | 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:

![\[Application Auto Scaling utilizzando il diagramma architettonico delle code\]](http://docs.aws.amazon.com/it_it/autoscaling/application/userguide/images/sqs-custom-metric-diagram.png)


**Per utilizzare questa matematica dei parametri al fine di creare una policy di dimensionamento con monitoraggio degli obiettivi (AWS CLI)**

1. 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 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 ECS running task count (the number of currently running tasks)",
                   "Id": "m2",
                   "MetricStat": {
                       "Metric": {
                           "MetricName": "RunningTaskCount",
                           "Namespace": "ECS/ContainerInsights",
                           "Dimensions": [
                               {
                                   "Name": "ClusterName",
                                   "Value": "my-cluster"
                               },
                               {
                                   "Name": "ServiceName",
                                   "Value": "my-service"
                               }
                           ]
                       },
                       "Stat": "Average"
                   },
                   "ReturnData": false
               },
               {
                   "Label": "Calculate the backlog per instance",
                   "Id": "e1",
                   "Expression": "m1 / m2",
                   "ReturnData": true
               }
           ]
       },
       "TargetValue": 100
   }
   ```

   Per ulteriori informazioni, consulta [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)l'*Application 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) nella *Amazon CloudWatch User* Guide.
[Per ottenere il nome esatto della metrica, lo spazio dei nomi e le dimensioni (se applicabili) di una CloudWatch metrica con, consulta list-metrics. AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 

1. Per creare questo criterio, esegui il [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando utilizzando il file JSON come input, come illustrato nell'esempio seguente.

   ```
   aws application-autoscaling put-scaling-policy --policy-name sqs-backlog-target-tracking-scaling-policy \
     --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/my-cluster/my-service \
     --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://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:012345678910:scalingPolicy: 8784a896-b2ba-47a1-b08c-27301cc499a1:resource/ecs/service/my-cluster/my-service:policyName/sqs-backlog-target-tracking-scaling-policy",
       "Alarms": [
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/my-cluster/my-service-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0",
               "AlarmName": "TargetTracking-service/my-cluster/my-service-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0"
           },
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/my-cluster/my-service-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4",
               "AlarmName": "TargetTracking-service/my-cluster/my-service-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4"
           }
       ]
   }
   ```
**Nota**  
Se questo comando genera un errore, assicurati di averlo aggiornato AWS CLI localmente alla versione più recente.

## Limitazioni
<a name="metric-math-limitations"></a>
+ La dimensione massima della richiesta è 50 KB. Questa è la dimensione totale del payload per la richiesta [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html)API quando si utilizza la matematica metrica nella definizione della politica. Se si supera questo limite, l'Applicazione di Dimensionamento automatico rifiuta la richiesta.
+ I seguenti servizi non sono supportati quando si usa la matematica dei parametri con le policy di dimensionamento con monitoraggio degli obiettivi:
  + Amazon Keyspaces (per Apache Cassandra) 
  + DynamoDB
  + Amazon EMR
  + MSK Amazon
  + Amazon Neptune