

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Alarmaktionen in Amazon verwenden CloudWatch
<a name="cloudwatch-examples-using-alarm-actions"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So ändern Sie den Status Ihrer Amazon EC2 EC2-Instances automatisch auf der Grundlage eines CloudWatch Alarms.

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

Mithilfe von Alarmaktionen können Sie Alarme erstellen, die Ihre Amazon EC2 EC2-Instances automatisch stoppen, beenden, neu starten oder wiederherstellen. Sie können die Aktionen zum Anhalten oder Beenden nutzen, wenn eine Instance nicht mehr ausgeführt werden muss. Sie können die Aktionen zum Neustarten oder Wiederherstellen verwenden, um diese Instances automatisch neu zu starten. 

In diesem Beispiel werden eine Reihe von Node.js -Modulen verwendet, um eine Alarmaktion zu definieren CloudWatch , die den Neustart einer Amazon EC2 EC2-Instance auslöst. Die Module Node.js verwenden das SDK für JavaScript die Verwaltung von Amazon EC2 EC2-Instances mithilfe der folgenden Methoden der `CloudWatch` Client-Klasse:
+ [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)

Weitere Informationen zu CloudWatch Alarmaktionen finden [Sie unter Erstellen von Alarmen zum Stoppen, Beenden, Neustarten oder Wiederherstellen einer Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingAlarmActions.html) im * CloudWatch Amazon-Benutzerhandbuch*.

## Erforderliche Aufgaben
<a name="cloudwatch-examples-using-alarm-actions-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der [Node.js-Website](http://nodejs.org).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei](loading-node-credentials-shared.md).
+ Erstellen Sie eine IAM-Rolle, deren Richtlinie die Erlaubnis erteilt, eine Amazon EC2 EC2-Instance zu beschreiben, neu zu starten, zu stoppen oder zu beenden. *Weitere Informationen zum Erstellen einer IAM-Rolle finden Sie unter [Creating a Role to Delegate Permissions to an AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im IAM-Benutzerhandbuch.*

Verwenden Sie die folgende Rollenrichtlinie beim Erstellen der IAM-Rolle.

------
#### [ 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>

Konfigurieren Sie das SDK für, JavaScript indem Sie ein globales Konfigurationsobjekt erstellen und dann die Region für Ihren Code festlegen. In diesem Beispiel ist die Region auf `us-west-2` festgelegt.

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

## Erstellen und Aktivieren von Alarmaktionen
<a name="cloudwatch-examples-using-alarm-actions-enabling"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `cw_enablealarmactions.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um darauf zuzugreifen CloudWatch, erstellen Sie ein `AWS.CloudWatch` Serviceobjekt.

Erstellen Sie ein JSON-Objekt, das die Parameter für die Erstellung eines Alarms enthält. Geben Sie dabei an ARNs , `ActionsEnabled` wie `true` und welche Aktionen der Alarm auslösen soll. Rufen Sie die `putMetricAlarm`-Methode des `AWS.CloudWatch`-Serviceobjekts auf, die den Alarm erstellt, wenn er nicht vorhanden ist, oder diesen aktualisiert, sofern vorhanden.

Erstellen Sie in der Callback-Funktion für nach erfolgreichem Abschluss ein JSON-Objekt`putMetricAlarm`, das den Namen des CloudWatch Alarms enthält. Rufen Sie die `enableAlarmActions`-Methode auf, um die Alarmaktion zu aktivieren.

```
// 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);
      }
    });
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node cw_enablealarmactions.js
```

Diesen Beispielcode finden Sie [hier auf GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_enablealarmactions.js)

## Deaktivieren von Alarmaktionen
<a name="cloudwatch-examples-using-alarm-actions-disabling"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `cw_disablealarmactions.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um darauf zuzugreifen CloudWatch, erstellen Sie ein `AWS.CloudWatch` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das den Namen des CloudWatch Alarms enthält. Rufen Sie die `disableAlarmActions`-Methode auf, um die Aktionen für diesen Alarm zu deaktivieren.

```
// 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);
    }
  }
);
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node cw_disablealarmactions.js
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_disablealarmactions.js).