AWS Systems ManagerChange Managersteht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Änderung der AWS Systems ManagerChange Manager Verfügbarkeit.
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 eines vorhandenen CloudWatch Alarms zur Erstellung OpsItems (programmgesteuert)
Sie können CloudWatch Amazon-Alarme so konfigurieren, dass sie OpsItems programmgesteuert erstellt werden, indem Sie AWS Command Line Interface (AWS CLI), AWS CloudFormation Vorlagen oder Java Codefragmente verwenden.
Topics
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 |
|---|---|
|
|
Der AWS-Region Ort, an dem der Alarm existiert. Beispiel: |
|
|
Dieselbe AWS-Konto ID, mit der der Alarm erstellt wurde. 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
Konfiguration der zu erstellenden CloudWatch Alarme 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.
Um einen zu CloudWatch erstellenden Alarm zu konfigurieren OpsItems (AWS CLI)
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.
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
example resource placeholderdurch Ihre Informationen.aws cloudwatch put-metric-alarm --alarm-namename\ --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\ --unitunitEin Beispiel:
Konfiguration von CloudWatch Alarmen zum Erstellen oder Aktualisieren OpsItems (CloudFormation)
Dieser Abschnitt enthält AWS CloudFormation Vorlagen, mit denen Sie CloudWatch Alarme so konfigurieren können, dass sie automatisch erstellt oder aktualisiert werdenOpsItems. 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.
Metrischer Alarm — Verwenden Sie die folgende CloudFormation Vorlage, um einen CloudWatch metrischen Alarm 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
Zusammengesetzter Alarm — Verwenden Sie die folgende CloudFormation Vorlage, um einen zusammengesetzten Alarm 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
Konfiguration von CloudWatch Alarmen zum Erstellen oder Aktualisieren OpsItems (Java)
Dieser Abschnitt enthält Java Codefragmente, mit denen Sie CloudWatch Alarme so konfigurieren können, dass sie automatisch erstellt oder aktualisiert werden. OpsItems 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.
Ein bestimmter Alarm — Verwenden Sie den folgenden Java Codeausschnitt, um einen Alarm zu erstellen oder zu aktualisieren. CloudWatch Der in dieser Vorlage angegebene Alarm überwacht die Statusprüfungen der EC2 Amazon-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 Alarme aktualisieren — Verwenden Sie den folgenden Java Codeausschnitt, um alle CloudWatch Alarme in Ihrem System AWS-Konto zu aktualisieren, OpsItems wenn ein Alarm 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