Erstellen von Alarmen in Amazon CloudWatch - AWS SDK for JavaScript

Helfen Sie uns, dasAWS SDK for JavaScriptVersion 3 (V3) -Dokumentation durch Feedback unter Verwendung derFeedbackLink oder erstellen Sie ein Problem oder ziehen Sie eine Anfrage anGitHubaus.

DieAWS SDK for JavaScriptReferenzhandbuch zur V3-API-Referenzbeschreibt ausführlich alle API-Operationen für dieAWS SDK for JavaScriptVersion 3 (V3).

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.

Erstellen von Alarmen in Amazon CloudWatch

JavaScript code example that applies to Node.js execution

Dieses Node.js-Codebeispiel zeigt:

  • So rufen Sie grundlegende Informationen über Ihre CloudWatch-Alarme ab.

  • So erstellen und löschen Sie einen CloudWatch-Alarm.

Das Szenario

Ein Alarm überwacht eine Metrik über einen bestimmten, von Ihnen definierten Zeitraum und führt eine oder mehrere Aktionen durch, die vom Wert der Metrik im Vergleich zu einem festgelegten Schwellenwert in einer Reihe von Zeiträumen abhängt.

In diesem Beispiel werden eine Reihe von Modulen Node.js verwendet, um Alarme in CloudWatch zu erstellen. Die Node.js Module verwenden das SDK für JavaScript, um Alarme mithilfe dieser Methoden desCloudWatchClient-Klasse:

Weitere Informationen zu CloudWatch-Alarmen finden Sie unterErstellen von Amazon CloudWatch CloudWatch-AlarmenimAmazon CloudWatch-Benutzerhandbuchaus.

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:

  • Richten Sie die Projektumgebung ein, um diese Node TypeScript-Beispiele auszuführen, und installieren Sie die erforderlichenAWS SDK for JavaScriptund Drittanbietermodule. Folgen Sie den Anweisungen aufGitHubaus.

  • 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 Datei mit gemeinsamen -Anmeld.

Wichtig

Diese Beispiele verwenden ECMASCRIPT6 (ES6). Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen der neuesten Version von Node.js finden Sie unterNode.js Downloads.aus.

Wenn Sie jedoch lieber CommonJS-Sytax verwenden möchten, lesen Sie bitteJavaScript ES6/CommonJS-Syntax

Beschreiben von Alarmen

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamencloudWatchClient.jsaus. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das CloudWatch-Clientobjekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion.

import { CloudWatchClient } from "@aws-sdk/client-cloudwatch"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create an Amazon CloudWatch service client object. export const cwClient = new CloudWatchClient({ region: REGION });

Dieser Code ist verfügbarhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen describeAlarms.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren, einschließlich desCloudWatchClient: Erstellen Sie ein JSON-Objekt, um die Parameter für das Abrufen von Alarmbeschreibungen zu speichern und begrenzen Sie dabei die zurückgegebenen Alarme auf diejenigen mit Status INSUFFICIENT_DATA. Rufen Sie dieDescribeAlarmsCommand-Methode desCloudWatchClient-Serviceobjekt.

// Import required AWS SDK clients and commands for Node.js import { DescribeAlarmsCommand } from "@aws-sdk/client-cloudwatch"; import { cwClient } from "./libs/cloudWatchClient.js"; // Set the parameters export const params = { StateValue: "INSUFFICIENT_DATA" }; export const run = async () => { try { const data = await cwClient.send(new DescribeAlarmsCommand(params)); console.log("Success", data); return data; data.MetricAlarms.forEach(function (item, index, array) { console.log(item.AlarmName); return data; }); } catch (err) { console.log("Error", err); } }; // Uncomment this line to run execution within this file. // run();

Um das Beispiel auszuführen, geben Sie an der Eingabeaufforderung Folgendes ein.

node describeAlarms.js

Diesen Beispiel-Code finden Siehier auf GitHubaus.

Erstellen eines -Alarms für eine CloudWatch-Metrik

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamencloudWatchClient.jsaus. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das CloudWatch-Clientobjekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion.

import { CloudWatchClient } from "@aws-sdk/client-cloudwatch"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create an Amazon CloudWatch service client object. export const cwClient = new CloudWatchClient({ region: REGION });

Dieser Code ist verfügbarhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen putMetricAlarm.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Erstellen Sie ein JSON-Objekt für die Parameter, die für das Erstellen eines Alarms auf der Grundlage einer Metrik erforderlich sind, in diesem Fall der CPU-Auslastung einer Amazon EC2 EC2-Instance. Die restlichen Parameter werden so festgelegt, dass der Alarm ausgelöst wird, wenn die Metrik einen Grenzwert von 70 Prozent überschreitet. Rufen Sie dieDescribeAlarmsCommand-Methode desCloudWatchClient-Serviceobjekt.

Anmerkung

ErsetzenINSTANCE_IDmit der ID der Amazon EC2 EC2-Instance.

// Import required AWS SDK clients and commands for Node.js import { PutMetricAlarmCommand } from "@aws-sdk/client-cloudwatch"; import { cwClient } from "./libs/cloudWatchClient.js"; // Set the parameters export const params = { AlarmName: "Web_Server_CPU_Utilization", ComparisonOperator: "GreaterThanThreshold", EvaluationPeriods: 1, MetricName: "CPUUtilization", Namespace: "AWS/EC2", Period: 60, Statistic: "Average", Threshold: 70.0, ActionsEnabled: false, AlarmDescription: "Alarm when server CPU exceeds 70%", Dimensions: [ { Name: "InstanceId", Value: "INSTANCE_ID", }, ], Unit: "Percent", }; export const run = async () => { try { const data = await cwClient.send(new PutMetricAlarmCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; // Uncomment this line to run execution within this file. // run();

Um das Beispiel auszuführen, geben Sie an der Eingabeaufforderung Folgendes ein.

node putMetricAlarm.js

Diesen Beispiel-Code finden Siehier auf GitHubaus.

Löschen eines Alarms

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamencloudWatchClient.jsaus. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das CloudWatch-Clientobjekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion.

import { CloudWatchClient } from "@aws-sdk/client-cloudwatch"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create an Amazon CloudWatch service client object. export const cwClient = new CloudWatchClient({ region: REGION });

Dieser Code ist verfügbarhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen deleteAlarms.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt CloudWatch konfigurieren. Erstellen Sie ein JSON-Objekt, um die Namen der Alarme zu speichern, die gelöscht werden sollen. Rufen Sie dieDeleteAlarmsCommand-Methode desCloudWatchClient-Serviceobjekt.

Anmerkung

ErsetzenALARM_NAMENmit den Namen der Alarme.

// Import required AWS SDK clients and commands for Node.js import { DeleteAlarmsCommand } from "@aws-sdk/client-cloudwatch"; import { cwClient } from "./libs/cloudWatchClient.js"; // Set the parameters export const params = { AlarmNames: "ALARM_NAME" }; // e.g., "Web_Server_CPU_Utilization" export const run = async () => { try { const data = await cwClient.send(new DeleteAlarmsCommand(params)); console.log("Success, alarm deleted; requestID:", data); return data; } catch (err) { console.log("Error", err); } }; // Uncomment this line to run execution within this file. // run();

Um das Beispiel auszuführen, geben Sie an der Eingabeaufforderung Folgendes ein.

node deleteAlarms.js

Diesen Beispiel-Code finden Siehier auf GitHubaus.