

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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

# Utilizzo delle azioni di allarme in Amazon CloudWatch
<a name="cloudwatch-examples-using-alarm-actions"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di codice di Node.js illustra:**
+ Come modificare automaticamente lo stato delle istanze Amazon EC2 in base a un allarme. CloudWatch 

## Lo scenario
<a name="cloudwatch-examples-using-alarm-actions-scenario"></a>

Utilizzando le azioni di allarme, puoi creare allarmi che interrompono, terminano, riavviano o ripristinano automaticamente le tue istanze Amazon EC2. Puoi utilizzare le operazioni di arresto o termine quando non è più necessaria l'esecuzione di un'istanza. È possibile utilizzare le azioni di riavvio e ripristino per riavviare automaticamente tali istanze. 

In questo esempio, una serie di moduli Node.js viene utilizzata per definire un'azione di allarme CloudWatch che attiva il riavvio di un'istanza Amazon EC2. I moduli Node.js utilizzano l'SDK per JavaScript gestire le istanze Amazon EC2 utilizzando questi metodi della `CloudWatch` classe client:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#enableAlarmActions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#enableAlarmActions-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#disableAlarmActions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#disableAlarmActions-property)

Per ulteriori informazioni sulle azioni di CloudWatch allarme, consulta [Create alarms to stop, terminate, reboot or recovery an instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingAlarmActions.html) nella *Amazon CloudWatch * User Guide.

## Attività prerequisite
<a name="cloudwatch-examples-using-alarm-actions-prerequisites"></a>

Per configurare ed eseguire questo esempio, è necessario completare queste attività:
+ Installa Node.js. Per ulteriori informazioni sull'installazione di Node.js, consulta il [sito Web Node.js](http://nodejs.org).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md).
+ Crea un ruolo IAM la cui policy conceda l'autorizzazione a descrivere, riavviare, arrestare o terminare un'istanza Amazon EC2. *Per ulteriori informazioni sulla creazione di un ruolo IAM, consulta [Creating a Role to Delegate Permissions to an AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella IAM User Guide.*

Utilizzare la seguente policy di ruolo quando si crea un ruolo IAM.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "cloudwatch:Describe*",
            "ec2:Describe*",
            "ec2:RebootInstances",
            "ec2:StopInstances*",
            "ec2:TerminateInstances"
         ],
         "Resource": [
            "*"
         ]
      }
   ]
}
```

------

## 
<a name="cloudwatch-examples-using-alarm-actions-configure-sdk"></a>

Configura l'SDK per JavaScript creando un oggetto di configurazione globale, quindi impostando la regione per il codice. Nell'esempio, la regione è impostata su `us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Creare e abilitare operazioni su un allarme
<a name="cloudwatch-examples-using-alarm-actions-enabling"></a>

Crea un modulo Node.js con il nome del file `cw_enablealarmactions.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere CloudWatch, crea un oggetto `AWS.CloudWatch` di servizio.

Crea un oggetto JSON per contenere i parametri per la creazione di un allarme, specificando `ActionsEnabled` as `true` e una serie ARNs di azioni che l'allarme attiverà. Chiama il metodo `putMetricAlarm` dell'oggetto di servizio `AWS.CloudWatch`, che crea l'allarme se non esiste o lo aggiorna se è già disponibile.

Nella funzione di callback per, una volta completata con successo`putMetricAlarm`, crea un oggetto JSON contenente il nome dell'allarme. CloudWatch Chiama il metodo `enableAlarmActions` per abilitare l'operazione di allarme.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create CloudWatch service object
var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" });

var params = {
  AlarmName: "Web_Server_CPU_Utilization",
  ComparisonOperator: "GreaterThanThreshold",
  EvaluationPeriods: 1,
  MetricName: "CPUUtilization",
  Namespace: "AWS/EC2",
  Period: 60,
  Statistic: "Average",
  Threshold: 70.0,
  ActionsEnabled: true,
  AlarmActions: ["ACTION_ARN"],
  AlarmDescription: "Alarm when server CPU exceeds 70%",
  Dimensions: [
    {
      Name: "InstanceId",
      Value: "INSTANCE_ID",
    },
  ],
  Unit: "Percent",
};

cw.putMetricAlarm(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Alarm action added", data);
    var paramsEnableAlarmAction = {
      AlarmNames: [params.AlarmName],
    };
    cw.enableAlarmActions(paramsEnableAlarmAction, function (err, data) {
      if (err) {
        console.log("Error", err);
      } else {
        console.log("Alarm action enabled", data);
      }
    });
  }
});
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node cw_enablealarmactions.js
```

Questo codice di esempio può essere trovato [qui](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_enablealarmactions.js). GitHub

## Disattivare le operazioni su un allarme
<a name="cloudwatch-examples-using-alarm-actions-disabling"></a>

Crea un modulo Node.js con il nome del file `cw_disablealarmactions.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere CloudWatch, crea un oggetto `AWS.CloudWatch` di servizio. Crea un oggetto JSON contenente il nome dell' CloudWatch allarme. Chiama il metodo `disableAlarmActions` per disabilitare l'operazione per questo allarme.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create CloudWatch service object
var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" });

cw.disableAlarmActions(
  { AlarmNames: ["Web_Server_CPU_Utilization"] },
  function (err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data);
    }
  }
);
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node cw_disablealarmactions.js
```

Questo codice di esempio può essere trovato [qui](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_disablealarmactions.js). GitHub