AWS Systems ManagerChange Managertidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat perubahan AWS Systems ManagerChange Manager ketersediaan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi CloudWatch alarm yang ada untuk membuat OpsItems (secara terprogram)
Anda dapat mengonfigurasi CloudWatch alarm Amazon untuk membuat OpsItems secara terprogram menggunakan AWS Command Line Interface (AWS CLI), AWS CloudFormation template, atau Java cuplikan kode.
Topik
Sebelum Anda mulai
Jika Anda mengedit alarm yang ada secara terprogram atau membuat alarm yang dibuatOpsItems, Anda harus menentukan Nama Sumber Daya Amazon (ARN). ARN ini mengidentifikasi Systems Manager OpsCenter sebagai target yang OpsItems dibuat dari alarm. Anda dapat menyesuaikan ARN sehingga OpsItems dibuat dari alarm menyertakan informasi spesifik seperti tingkat keparahan atau kategori. Setiap ARN menyertakan informasi yang dijelaskan dalam tabel berikut.
| Parameter | Detail |
|---|---|
|
|
Di Wilayah AWS mana alarm ada. Sebagai contoh: |
|
|
Akun AWS ID yang sama digunakan untuk membuat alarm. Sebagai contoh: |
|
|
Tingkat keparahan yang ditentukan pengguna untuk OpsItems dibuat dari alarm. Nilai valid: |
|
|
Kategori untuk OpsItems dibuat dari alarm. Nilai yang valid: |
Buat ARN dengan menggunakan sintaks berikut. ARN ini tidak termasuk parameter Category opsional.
arn:aws:ssm:Region:account_ID:opsitem:severity
Berikut adalah contohnya.
arn:aws:ssm:us-west-2:123456789012:opsitem:3
Untuk membuat ARN yang menggunakan parameter Category opsional, gunakan sintaks berikut.
arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name
Berikut adalah contohnya.
arn:aws:ssm:us-west-2:123456789012:opsitem:3#CATEGORY=Security
Mengkonfigurasi CloudWatch alarm untuk membuat OpsItems ()AWS CLI
Perintah ini mengharuskan Anda menentukan ARN untuk parameter. alarm-actions Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda mulai.
Untuk mengkonfigurasi CloudWatch alarm untuk membuat OpsItems (AWS CLI)
Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.
Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
-
Jalankan perintah berikut untuk mengumpulkan informasi tentang alarm yang ingin Anda konfigurasi.
aws cloudwatch describe-alarms --alarm-names "alarm name" -
Jalankan perintah berikut untuk memperbarui alarm. Ganti masing-masing
example resource placeholderdengan informasi Anda sendiri.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\ --unitunitInilah contohnya.
Mengkonfigurasi CloudWatch alarm untuk membuat atau memperbarui OpsItems () CloudFormation
Bagian ini mencakup AWS CloudFormation templat yang dapat Anda gunakan untuk mengonfigurasi CloudWatch alarm agar dibuat atau diperbarui OpsItems secara otomatis. Setiap template mengharuskan Anda menentukan ARN untuk parameter. AlarmActions Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda mulai.
Alarm metrik - Gunakan CloudFormation templat berikut untuk membuat atau memperbarui alarm CloudWatch metrik. Alarm yang ditentukan dalam template ini memantau pemeriksaan status instans Amazon Elastic Compute Cloud (Amazon EC2). Jika alarm memasuki ALARM status, itu menciptakan OpsItem masukOpsCenter.
{ "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
Alarm komposit - Gunakan CloudFormation template berikut untuk membuat atau memperbarui alarm komposit. Alarm komposit terdiri dari beberapa alarm metrik. Jika alarm memasuki ALARM status, itu menciptakan OpsItem masukOpsCenter.
"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
Mengkonfigurasi CloudWatch alarm untuk membuat atau memperbarui OpsItems () Java
Bagian ini mencakup cuplikan Java kode yang dapat Anda gunakan untuk mengonfigurasi CloudWatch alarm agar dibuat atau diperbarui secara otomatis. OpsItems Setiap cuplikan mengharuskan Anda menentukan ARN untuk parameter tersebut. validSsmActionStr Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda mulai.
Alarm tertentu — Gunakan cuplikan Java kode berikut untuk membuat atau memperbarui alarm. CloudWatch Alarm yang ditentukan dalam template ini memantau pemeriksaan status EC2 instans Amazon. Jika alarm memasuki ALARM status, itu menciptakan OpsItem masukOpsCenter.
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
Perbarui semua alarm — Gunakan cuplikan Java kode berikut untuk memperbarui semua CloudWatch alarm di Anda Akun AWS untuk membuat OpsItems ketika alarm memasuki status. 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:"; 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