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.
Konfiguration einer vorhandenen CloudWatch-Warnung zum Erstellen von OpsItems (programmgesteuert)
Sie können Amazon CloudWatch-Warnungen programmgesteuert konfigurieren, um OpsItems mit AWS Command Line Interface (AWS CLI), AWS CloudFormation-Vorlagen oder Java-Code-Snippets zu verwenden.
Themen
Bevor Sie beginnen
Wenn Sie eine vorhandenen Warnung programmgesteuert bearbeiten oder eine neuen Warnung erstellen, der OpsItems erstellt, müssen Sie einen Amazon-Ressourcennamen (ARN) angeben. Dieser ARN identifiziert Systems Manager OpsCenter als Ziel für OpsItems, die aus dem Alarm erstellt wurden. Sie können den ARN so anpassen, dass OpsItems, die aus dem Alarm erstellt wurden, bestimmte Informationen wie Schweregrad oder Kategorie enthalten. Jede ARN enthält die in der folgenden Tabelle beschriebenen Informationen.
Parameter | Details |
---|---|
|
Die AWS-Region, in der sich der Alarm befindet. Beispiel: |
|
Die gleiche AWS-Konto-ID, die zum Erstellen des Alarms verwendet wird. Beispiel: |
|
Ein benutzerdefinierter Schweregrad für OpsItems wurde aus dem Alarm erstellt. Zulässige Werte: |
|
Eine Kategorie für OpsItems, die aus dem Alarm erstellt wurde. Gültige Werte: |
Erstellen Sie den ARN mit der folgenden Syntax. Dieser ARN enthält nicht den optionalen Category
-Parameter.
arn:aws:ssm:
Region
:account_ID
:opsitem:severity
Im Folgenden sehen Sie ein Beispiel.
arn:aws:ssm:us-west-2:123456789012:opsitem:3
Verwenden Sie die folgende Syntax, um einen ARN zu erstellen, der den optionalen Category
-Parameter verwendet.
arn:aws:ssm:
Region
:account_ID
:opsitem:severity
#CATEGORY=category_name
Im Folgenden sehen Sie ein Beispiel.
arn:aws:ssm:us-west-2:123456789012:opsitem:3#CATEGORY=Security
Konfigurieren von CloudWatch-Warnungen zum Erstellen von OpsItems (AWS CLI)
Für diesen Befehl müssen Sie einen ARN für den alarm-actions
-Parameter angeben. Informationen zum Erstellen des ARN finden Sie unter Bevor Sie beginnen.
Konfigurieren von CloudWatch-Warnungen zum Erstellen von OpsItems (AWS CLI)
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.
Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.
-
Führen Sie den folgenden Befehl aus, um Informationen über den Alarm zu sammeln, den Sie konfigurieren möchten.
aws cloudwatch describe-alarms --alarm-names "
alarm name
" -
Führen Sie den folgenden Befehl aus, um einen Alarm zu aktualisieren. Ersetzen Sie jeden
Beispiel Platzhalter für Ressourcen
mit Ihren eigenen Informationen.aws cloudwatch put-metric-alarm --alarm-name
name
\ --alarm-description "description
" \ --metric-namename
--namespacenamespace
\ --statisticstatistic
--periodvalue
--thresholdvalue
\ --comparison-operatorvalue
\ --dimensions "dimensions
" --evaluation-periodsvalue
\ --alarm-actions arn:aws:ssm:Region
:account_ID
:opsitem:severity
#CATEGORY=category_name
\ --unitunit
Ein Beispiel:
Konfiguration von CloudWatch-Warnungen zum Erstellen oder Aktualisieren von OpsItems (CloudFormation)
Dieser Abschnitt enthält AWS CloudFormation-Vorlagen, die Sie verwenden können, um CloudWatch-Warnungen so zu konfigurieren, dass sie automatisch OpsItems erstellen oder aktualisieren. Für jede Vorlage muss ein ARN für den AlarmActions
-Parameter angegeben werden. Informationen zum Erstellen des ARN finden Sie unter Bevor Sie beginnen.
Metrik-Warnung – Verwenden Sie die folgenden CloudFormation-Vorlage, um eine CloudWatch-Metrik-Warnung zu erstellen oder zu aktualisieren. Der in dieser Vorlage angegebene Alarm überwacht die Statusprüfungen der Amazon Elastic Compute Cloud (Amazon EC2)-Instance. Wenn der Alarm in den ALARM
-Zustand wecchselt, erstellt es ein 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:
", { "Ref" : "AWS::Partition" }, ":ssm:", { "Ref" : "AWS::Region" }, { "Ref" : "AWS:: AccountId" }, ":opsitem:3" ]]} ], "Dimensions": [{"Name": "InstanceId","Value": {"Ref": "RecoveryInstance"}}] } } } }Region
:account_ID
:opsitem:severity
#CATEGORY=category_name
Zusammengesetzte Warnung – Verwenden Sie die folgende CloudFormation-Vorlage um zusammengesetzte Warnungen zu erstellen oder zu aktualisieren. Ein zusammengesetzter Alarm besteht aus mehreren Metrikalarmen. Wenn der Alarm in den ALARM
-Zustand wecchselt, erstellt es ein 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:
", "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" } } }Region
:account_ID
:opsitem:severity
#CATEGORY=category_name
Konfigurieren von CloudWatch-Warnungen zum Erstellen oder Aktualisieren von OpsItems (Java)
Dieser Abschnitt enthält Java-Codeausschnitte, die Sie verwenden können, um CloudWatch-Warnungen so zu konfigurieren, dass sie automatisch OpsItems erstellen oder aktualisieren. Für jeden Ausschnitt müssen Sie einen ARN für den validSsmActionStr
-Parameter angeben. Informationen zum Erstellen des ARN finden Sie unter Bevor Sie beginnen.
Eine spezifischer Warnung – Verwenden Sie den folgenden Java-Codeausschnitt, um eine CloudWatch-Warnung zu erstellen oder zu aktualisieren. Der in dieser Vorlage angegebene Alarm überwacht die Statusprüfungen der Amazon-EC2-Instance. Wenn der Alarm in den ALARM
-Zustand wecchselt, erstellt es ein 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:
"; 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); }Region
:account_ID
:opsitem:severity
#CATEGORY=category_name
Alle Warnungen aktualisieren – Verwenden Sie den folgenden Java-Codeausschnitt, um alle CloudWatch-Warnungen in Ihrem AWS-Konto so zu aktualisieren, dass OpsItems erstellt wird, wenn eine Warnung in den ALARM
-Status wechselt.
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:
"; 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; } } }Region
:account_ID
:opsitem:severity
#CATEGORY=category_name