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 membuatOpsItems (pemrograman)
Anda dapat mengonfigurasi CloudWatch alarm Amazon untuk membuatOpsItems pemrograman dengan menggunakanAWS Command Line Interface (AWS CLI),AWS CloudFormation templat, atau cuplikanJava kode.
Topik
Sebelum Anda memulai
Jika Anda secara terprogram mengedit alarm yang ada atau membuat alarm yang dibuatOpsItems, Anda harus menentukan Amazon Resource Name (ARN). ARN ini mengidentifikasi Systems ManagerOpsCenter sebagai target untukOpsItems dibuat dari alarm. Anda dapat menyesuaikan ARN sehingga yangOpsItems dibuat dari alarm menyertakan informasi spesifik seperti kepelikan atau kategori. Setiap ARN menyertakan informasi yang dijelaskan dalam tabel berikut.
Parameter | Detail |
---|---|
|
Wilayah AWS tempat alarm berada. Misalnya: |
|
ID Akun AWS yang sama yang digunakan untuk membuat alarm. Misalnya: |
|
Tingkat kepelikan yang ditetapkan pengguna untukOpsItems dibuat dari alarm. Nilai valid: |
|
Kategori untukOpsItems 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 membuatOpsItems (AWS CLI)
Perintah ini mengharuskan Anda menentukan ARN untukalarm-actions
parameter. Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda memulai.
Untuk mengkonfigurasi CloudWatch alarm untuk membuatOpsItems (AWS CLI)
Instal dan konfigurasikanAWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.
Untuk informasi, lihat Menginstal atau memperbarui versi terbaruAWS 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 setiap
contoh placeholder sumber daya
dengan informasi Anda sendiri.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
Inilah contohnya.
Mengkonfigurasi CloudWatch alarm untuk membuat atau memperbaruiOpsItems (CloudFormation)
Bagian ini mencakupAWS CloudFormation templat yang dapat Anda gunakan untuk mengkonfigurasi CloudWatch alarm untuk membuat atau memperbarui secara otomatisOpsItems. Setiap templat mengharuskan Anda menentukan ARN untukAlarmActions
parameter. Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda memulai.
alarm metrik - Gunakan CloudFormation templat berikut untuk membuat atau memperbarui alarm CloudWatch metrik. alarm yang ditentukan dalam templat ini memantau pemeriksaan status instans Amazon Elastic Compute Cloud (Amazon EC2). Jika alarm memasukiALARM
negara, itu menciptakanOpsItem inOpsCenter.
{ "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 templat berikut untuk membuat atau memperbarui alarm komposit. Alarm komposit terdiri dari beberapa alarm metrik. Jika alarm memasukiALARM
negara, itu menciptakanOpsItem inOpsCenter.
"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 memperbaruiOpsItems (Java)
Bagian ini mencakup cuplikanJava kode yang dapat Anda gunakan untuk mengkonfigurasi CloudWatch alarm untuk membuat atau memperbarui secara otomatisOpsItems. Setiap cuplikan mengharuskan Anda menentukan ARN untukvalidSsmActionStr
parameter. Untuk informasi tentang cara membuat ARN, lihat Sebelum Anda memulai.
alarm khusus - Gunakan cuplikanJava kode berikut untuk membuat atau memperbarui CloudWatch alarm. alarm yang ditentukan dalam templat ini memantau pemeriksaan status instans Amazon EC2. Jika alarm memasukiALARM
negara, itu menciptakanOpsItem inOpsCenter.
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 cuplikanJava kode berikut untuk memperbarui semua CloudWatch alarm yang ada di AndaAkun AWS yang dibuatOpsItems saat alarm memasukiALARM
status.
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