Amazon CloudWatch-Vorlagenausschnitte - AWS CloudFormation

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.

Amazon CloudWatch-Vorlagenausschnitte

Verwenden Sie diese Beispielvorlagen, um Ihre Amazon CloudWatch-Ressourcen in CloudFormationzu beschreiben. Weitere Informationen finden Sie in der Amazon CloudWatch Ressourcentyp-Referenz.

Fakturierungsbenachrichtigung

Im folgenden Beispiel, sendet Amazon CloudWatch eine E-Mail-Benachrichtigung, wenn die Gebühren Ihres AWS-Kontos den Alarm-Schwellenwert übersteigen. Um Nutzungsbenachrichtigungen zu erhalten, aktivieren Sie Fakturierungsbenachrichtigungen. Weitere Informationen finden Sie unter Erstellen eines Abrechnungsalarms zur Überwachung Ihrer geschätzten AWS Gebühren im Amazon CloudWatch Benutzerhandbuch.>

JSON

"SpendingAlarm": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "AlarmDescription": { "Fn::Join": ["", [ "Alarm if AWS spending is over $", { "Ref": "AlarmThreshold" } ]]}, "Namespace": "AWS/Billing", "MetricName": "EstimatedCharges", "Dimensions": [{ "Name": "Currency", "Value" : "USD" }], "Statistic": "Maximum", "Period": "21600", "EvaluationPeriods": "1", "Threshold": { "Ref": "AlarmThreshold" }, "ComparisonOperator": "GreaterThanThreshold", "AlarmActions": [{ "Ref": "BillingAlarmNotification" }], "InsufficientDataActions": [{ "Ref": "BillingAlarmNotification" }] } }

YAML

SpendingAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmDescription: 'Fn::Join': - '' - - Alarm if AWS spending is over $ - !Ref: AlarmThreshold Namespace: AWS/Billing MetricName: EstimatedCharges Dimensions: - Name: Currency Value: USD Statistic: Maximum Period: '21600' EvaluationPeriods: '1' Threshold: !Ref: "AlarmThreshold" ComparisonOperator: GreaterThanThreshold AlarmActions: - !Ref: "BillingAlarmNotification" InsufficientDataActions: - !Ref: "BillingAlarmNotification"

CPU-Nutzungsalarm

Der folgenden Beispiel-Ausschnitt erstellt einen Alarm, der eine Benachrichtigung versendet, wenn die durchschnittliche CPU-Auslastung einer Amazon EC2-Instance 90 Prozent länger als 60 Sekunden überschreitet und das über drei Bewertungszeiträume.

JSON

"CPUAlarm" : { "Type" : "AWS::CloudWatch::Alarm", "Properties" : { "AlarmDescription" : "CPU alarm for my instance", "AlarmActions" : [ { "Ref" : "logical name of an AWS::SNS::Topic resource" } ], "MetricName" : "CPUUtilization", "Namespace" : "AWS/EC2", "Statistic" : "Average", "Period" : "60", "EvaluationPeriods" : "3", "Threshold" : "90", "ComparisonOperator" : "GreaterThanThreshold", "Dimensions" : [ { "Name" : "InstanceId", "Value" : { "Ref" : "logical name of an AWS::EC2::Instance resource" } } ] } }

YAML

CPUAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmDescription: CPU alarm for my instance AlarmActions: - !Ref: "logical name of an AWS::SNS::Topic resource" MetricName: CPUUtilization Namespace: AWS/EC2 Statistic: Average Period: '60' EvaluationPeriods: '3' Threshold: '90' ComparisonOperator: GreaterThanThreshold Dimensions: - Name: InstanceId Value: !Ref: "logical name of an AWS::EC2::Instance resource"

Wiederherstellung einer Amazon Elastic Compute Cloud-Instance

Der folgenden CloudWatch-Alarm stellt eine EC2-Instance wieder her, wenn für 15 aufeinanderfolgende Minuten Störungen der Statusprüfung aufgetreten sind. Weitere Informationen zu Alarmaktionen finden Sie unter Erstellen von Alarmen zum Anhalten, Beenden, Neustarten oder Wiederherstellen einer EC2-Instance im Amazon CloudWatch Benutzerhandbuch.

JSON

{ "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": "Trigger a recovery 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:aws:automate:", { "Ref" : "AWS::Region" }, ":ec2:recover" ]]} ], "Dimensions": [{"Name": "InstanceId","Value": {"Ref": "RecoveryInstance"}}] } } } }

YAML

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: Trigger a recovery 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: [ !Sub "arn:aws:automate:${AWS::Region}:ec2:recover" ] Dimensions: - Name: InstanceId Value: !Ref: RecoveryInstance

Erstellen eines grundlegenden Dashboards

Das folgende Beispiel erstellt ein einfaches CloudWatch-Dashboard mit einem Metrik-Widget, das die CPU-Auslastung anzeigt, und einem Text-Widget, das eine Nachricht anzeigt.

JSON

{ "BasicDashboard": { "Type": "AWS::CloudWatch::Dashboard", "Properties": { "DashboardName": "Dashboard1", "DashboardBody": "{\"widgets\":[{\"type\":\"metric\",\"x\":0,\"y\":0,\"width\":12,\"height\":6,\"properties\":{\"metrics\":[[\"AWS/EC2\",\"CPUUtilization\",\"InstanceId\",\"i-012345\"]],\"period\":300,\"stat\":\"Average\",\"region\":\"us-east-1\",\"title\":\"EC2 Instance CPU\"}},{\"type\":\"text\",\"x\":0,\"y\":7,\"width\":3,\"height\":3,\"properties\":{\"markdown\":\"Hello world\"}}]}" } } }

YAML

BasicDashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: Dashboard1 DashboardBody: '{"widgets":[{"type":"metric","x":0,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/EC2","CPUUtilization","InstanceId","i-012345"]],"period":300,"stat":"Average","region":"us-east-1","title":"EC2 Instance CPU"}},{"type":"text","x":0,"y":7,"width":3,"height":3,"properties":{"markdown":"Hello world"}}]}'

Erstellen eines Dashboards mit Side-by-Side-Widgets

Im folgenden Beispiel wird ein Dashboard mit zwei Metrik-Widgets erstellt, die nebeneinander angezeigt werden.

JSON

{ "DashboardSideBySide": { "Type": "AWS::CloudWatch::Dashboard", "Properties": { "DashboardName": "Dashboard1", "DashboardBody": "{\"widgets\":[{\"type\":\"metric\",\"x\":0,\"y\":0,\"width\":12,\"height\":6,\"properties\":{\"metrics\":[[\"AWS/EC2\",\"CPUUtilization\",\"InstanceId\",\"i-012345\"]],\"period\":300,\"stat\":\"Average\",\"region\":\"us-east-1\",\"title\":\"EC2 Instance CPU\"}},{\"type\":\"metric\",\"x\":12,\"y\":0,\"width\":12,\"height\":6,\"properties\":{\"metrics\":[[\"AWS/S3\",\"BucketSizeBytes\",\"BucketName\",\"amzn-s3-demo-bucket\"]],\"period\":86400,\"stat\":\"Maximum\",\"region\":\"us-east-1\",\"title\":\"amzn-s3-demo-bucket bytes\"}}]}" } } }

YAML

DashboardSideBySide: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: Dashboard1 DashboardBody: '{"widgets":[{"type":"metric","x":0,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/EC2","CPUUtilization","InstanceId","i-012345"]],"period":300,"stat":"Average","region":"us-east-1","title":"EC2 Instance CPU"}},{"type":"metric","x":12,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/S3","BucketSizeBytes","BucketName","amzn-s3-demo-bucket"]],"period":86400,"stat":"Maximum","region":"us-east-1","title":"amzn-s3-demo-bucket bytes"}}]}'