

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Configurazione di un CloudWatch allarme esistente da creare OpsItems (a livello di codice)
<a name="OpsCenter-configuring-an-existing-alarm-programmatically"></a>

Puoi configurare gli CloudWatch allarmi Amazon per crearli a OpsItems livello di codice utilizzando AWS Command Line Interface (AWS CLI), AWS CloudFormation modelli o Java frammenti di codice.

**Topics**
+ [Prima di iniziare](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)
+ [Configurazione degli CloudWatch allarmi da creare OpsItems ()AWS CLI](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-manually-configure-cli)
+ [Configurazione degli CloudWatch allarmi per creare o aggiornare OpsItems () CloudFormation](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation)
+ [Configurazione degli CloudWatch allarmi per creare o aggiornare OpsItems () Java](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-java)

## Prima di iniziare
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin"></a>

Se modifichi a livello di programmazione un allarme esistente o crei un allarme che crea OpsItems, devi specificare un nome della risorsa Amazon (ARN). Questo ARN identificherà Systems Manager OpsCenter come obiettivo per la creazione di OpsItems dall'allarme. È possibile personalizzare l'ARN in modo che OpsItems creati dall'allarme includano informazioni specifiche quali la gravità o la categoria. Ogni ARN include le informazioni descritte nella tabella seguente.


****  

| Parametro | Informazioni | 
| --- | --- | 
| `Region`(richiesto) | La posizione Regione AWS in cui si trova l'allarme. Ad esempio: `us-west-2`. Per informazioni su Regioni AWS dove è possibile utilizzare OpsCenter, consulta [Endpoint e quote AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html). | 
| `account_ID`(richiesto) | Lo stesso Account AWS ID usato per creare l'allarme. Ad esempio: `123456789012`. L'ID account deve essere seguito da due punti (`:`) e dal parametro `opsitem` come mostrato negli esempi seguenti. | 
| `severity`(richiesto) | Un livello di gravità definito dall'utente per la creazione di OpsItems dall'allarme. Valori validi: `1`, `2`, `3`, `4` | 
| `Category` (facoltativo) | categoria per la creazione di OpsItems dall'allarme. Valori validi: `Availability`, `Cost`, `Performance`, `Recovery` e `Security`. | 

Creare l'ARN utilizzando la seguente sintassi. Questo ARN non include l'opzione di parametro `Category`.

```
arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}
```

Di seguito è riportato un esempio.

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3
```

Per creare un ARN che utilizza l'opzione `Category` utilizzare la seguente sintassi.

```
arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}}
```

Di seguito è riportato un esempio.

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3#CATEGORY=Security
```

## Configurazione degli CloudWatch allarmi da creare OpsItems ()AWS CLI
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-manually-configure-cli"></a>

Questo comando richiede di specificare un ARN per il parametro `alarm-actions`. Per informazioni su come creare l'ARN, consulta [Prima di iniziare](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin).

**Per configurare un CloudWatch allarme da creare OpsItems ()AWS CLI**

1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

   Per informazioni, consulta la pagina [Installazione o aggiornamento della versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Eseguire il seguente comando per raccogliere informazioni sull'allarme da configurare.

   ```
   aws cloudwatch describe-alarms --alarm-names "{{alarm name}}"
   ```

1. Esegui il seguente comando per aggiornare un allarme. Sostituisci ogni {{example resource placeholder}} con le tue informazioni.

   ```
   aws cloudwatch put-metric-alarm --alarm-name {{name}} \
   --alarm-description "{{description}}" \
   --metric-name {{name}} --namespace {{namespace}} \
   --statistic {{statistic}} --period {{value}} --threshold {{value}} \
   --comparison-operator {{value}} \
   --dimensions "{{dimensions}}" --evaluation-periods {{value}} \
       --alarm-actions arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}} \
   --unit {{unit}}
   ```

   Ecco un esempio:

------
#### [ Linux & macOS ]

   ```
   aws cloudwatch put-metric-alarm --alarm-name cpu-mon \
   --alarm-description "Alarm when CPU exceeds 70 percent" \
   --metric-name CPUUtilization --namespace AWS/EC2 \
   --statistic Average --period 300 --threshold 70 \
   --comparison-operator GreaterThanThreshold \
   --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \
   --alarm-actions arn:aws:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security \
   --unit Percent
   ```

------
#### [ Windows ]

   ```
   aws cloudwatch put-metric-alarm --alarm-name cpu-mon ^
   --alarm-description "Alarm when CPU exceeds 70 percent" ^
   --metric-name CPUUtilization --namespace AWS/EC2 ^
   --statistic Average --period 300 --threshold 70 ^
   --comparison-operator GreaterThanThreshold ^
   --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 ^
   --alarm-actions arn:aws:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security ^
   --unit Percent
   ```

------

## Configurazione degli CloudWatch allarmi per creare o aggiornare OpsItems () CloudFormation
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation"></a>

Questa sezione include AWS CloudFormation modelli che è possibile utilizzare per configurare gli CloudWatch allarmi da creare o aggiornare automaticamente. OpsItems Ogni modello richiede di specificare un ARN per il parametro `AlarmActions`. Per informazioni su come creare l'ARN, consulta [Prima di iniziare](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin).

**Allarme metrico**: utilizza il seguente CloudFormation modello per creare o aggiornare un allarme CloudWatch metrico. L'allarme specificato in questo modello monitora i controlli dello stato delle istanze Amazon Elastic Compute Cloud (Amazon EC2). Se l'allarme entra nel `ALARM`, crea un OpsItem in OpsCenter. 

```
    {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Parameters" : {
        "RecoveryInstance" : {
          "Description" : "The EC2 instance ID to associate this alarm with.",
          "Type" : "AWS::EC2::Instance::Id"
        }
      },
      "Resources": {
        "RecoveryTestAlarm": {
          "Type": "AWS::CloudWatch::Alarm",
          "Properties": {
            "AlarmDescription": "Run a recovery action when instance status check fails for 15 consecutive minutes.",
            "Namespace": "AWS/EC2" ,
            "MetricName": "StatusCheckFailed_System",
            "Statistic": "Minimum",
            "Period": "60",
            "EvaluationPeriods": "15",
            "ComparisonOperator": "GreaterThanThreshold",
            "Threshold": "0",
            "AlarmActions": [ {"Fn::Join" : ["", ["arn:{{arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}}}}", { "Ref" : "AWS::Partition" }, ":ssm:", { "Ref" : "AWS::Region" }, { "Ref" : "AWS:: AccountId" }, ":opsitem:3" ]]} ],
            "Dimensions": [{"Name": "InstanceId","Value": {"Ref": "RecoveryInstance"}}]
          }
        }
      }
    }
```

**Allarme composito**: utilizza il seguente CloudFormation modello per creare o aggiornare un allarme composito. Un allarme composito è costituito da più allarmi dei parametri. Se l'allarme entra nel `ALARM`, crea un OpsItem in OpsCenter.

```
"Resources":{
       "HighResourceUsage":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"HighResourceUsage",
             "AlarmRule":"(ALARM(HighCPUUsage) OR ALARM(HighMemoryUsage)) AND NOT ALARM(DeploymentInProgress)",
             "AlarmActions":"{{arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}}}}",
             "AlarmDescription":"Indicates that the system resource usage is high while no known deployment is in progress"
          },
          "DependsOn":[
             "DeploymentInProgress",
             "HighCPUUsage",
             "HighMemoryUsage"
          ]
       },
       "DeploymentInProgress":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"DeploymentInProgress",
             "AlarmRule":"FALSE",
             "AlarmDescription":"Manually updated to TRUE/FALSE to disable other alarms"
          }
       },
       "HighCPUUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"CPUusageishigh",
             "AlarmName":"HighCPUUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"CPUUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":70,
             "TreatMissingData":"notBreaching"
          }
       },
       "HighMemoryUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"Memoryusageishigh",
             "AlarmName":"HighMemoryUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"MemoryUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":65,
             "TreatMissingData":"breaching"
          }
       }
    }
```

## Configurazione degli CloudWatch allarmi per creare o aggiornare OpsItems () Java
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-java"></a>

Questa sezione include frammenti di Java codice che è possibile utilizzare per configurare gli CloudWatch allarmi da creare o aggiornare automaticamente. OpsItems Ogni frammento richiede di specificare un ARN per il parametro `validSsmActionStr`. Per informazioni su come creare l'ARN, consulta [Prima di iniziare](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin).

**Un allarme specifico**: utilizza il seguente frammento di Java codice per creare o aggiornare un avviso. CloudWatch L'allarme specificato in questo modello monitora i controlli dello stato delle istanze Amazon EC2. Se l'allarme entra nel `ALARM`, crea un OpsItem in OpsCenter.

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.ComparisonOperator;
    import com.amazonaws.services.cloudwatch.model.Dimension;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult;
    import com.amazonaws.services.cloudwatch.model.StandardUnit;
    import com.amazonaws.services.cloudwatch.model.Statistic;
     
    private void putMetricAlarmWithSsmAction() {
        final AmazonCloudWatch cw =
                AmazonCloudWatchClientBuilder.defaultClient();
     
        Dimension dimension = new Dimension()
                .withName("InstanceId")
                .withValue(instanceId);
     
        String validSsmActionStr = "{{arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}}}}";
     
        PutMetricAlarmRequest request = new PutMetricAlarmRequest()
                .withAlarmName(alarmName)
                .withComparisonOperator(
                        ComparisonOperator.GreaterThanThreshold)
                .withEvaluationPeriods(1)
                .withMetricName("CPUUtilization")
                .withNamespace("AWS/EC2")
                .withPeriod(60)
                .withStatistic(Statistic.Average)
                .withThreshold(70.0)
                .withActionsEnabled(false)
                .withAlarmDescription(
                        "Alarm when server CPU utilization exceeds 70%")
                .withUnit(StandardUnit.Seconds)
                .withDimensions(dimension)
                .withAlarmActions(validSsmActionStr);
     
        PutMetricAlarmResult response = cw.putMetricAlarm(request);
    }
```

**Aggiorna tutti gli allarmi**: utilizza il seguente frammento di Java codice per aggiornare tutti gli CloudWatch allarmi presenti nel tuo sistema e Account AWS creare OpsItems quando un allarme entra in uno stato. `ALARM` 

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsRequest;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsResult;
    import com.amazonaws.services.cloudwatch.model.MetricAlarm;
     
    private void listMetricAlarmsAndAddSsmAction() {
        final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient();
     
        boolean done = false;
        DescribeAlarmsRequest request = new DescribeAlarmsRequest();
     
        String validSsmActionStr = "{{arn:aws:ssm:{{Region}}:{{account_ID}}:opsitem:{{severity}}#CATEGORY={{category_name}}}}";
     
        while(!done) {
     
            DescribeAlarmsResult response = cw.describeAlarms(request);
     
            for(MetricAlarm alarm : response.getMetricAlarms()) {
                // assuming there are no alarm actions added for the metric alarm
                alarm.setAlarmActions(ImmutableList.of(validSsmActionStr));
            }
     
            request.setNextToken(response.getNextToken());
     
            if(response.getNextToken() == null) {
                done = true;
            }
        }
    }
```