0Pricing
Cloud & IT Cert Prep · Lektion

CloudWatch-Alarme und zusammengesetzte Alarme

Legen Sie schwellenwertbasierte Alarme fest, die Auto Scaling oder SNS-Benachrichtigungen auslösen, und kombinieren Sie mehrere Alarme zu einem zusammengesetzten Alarm, um die Anzahl unnötiger Warnungen zu verringern.

CloudWatch-Alarme und zusammengesetzte Alarme ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein CloudWatch-Alarm?

Ein CloudWatch-Alarm überwacht eine einzelne Metrik oder das Ergebnis eines Metrikmathematik-Ausdrucks über einen von Ihnen festgelegten Zeitraum. Wenn die Metrik einen von Ihnen definierten Schwellenwert überschreitet, ändert der Alarm seinen Status und kann automatisch eine Aktion auslösen, etwa eine SNS-Benachrichtigung senden, eine Auto Scaling-Gruppe skalieren, eine EC2-Instance stoppen oder ein Systems Manager OpsItem ausführen. Alarme sind der wichtigste Mechanismus für automatisierte Betriebsreaktionen in AWS.

Alarmstatus

Ein CloudWatch-Alarm befindet sich immer in einem von drei Status: OK — die Metrik liegt innerhalb des definierten Schwellenwerts; ALARM — die Metrik hat den Schwellenwert während der erforderlichen Anzahl von Auswertungszeiträumen überschritten; INSUFFICIENT_DATA — der Alarm wurde gerade erstellt, die Metrik ist nicht verfügbar oder es wurden noch nicht genügend Daten gesammelt. Statusübergänge lösen Aktionen aus, die für diese Statusänderung konfiguriert wurden — Sie können für die Status OK, ALARM und INSUFFICIENT_DATA unterschiedliche SNS-Themen verwenden.

# View all alarms and their current state
aws cloudwatch describe-alarms \
  --query 'MetricAlarms[].{Name:AlarmName,State:StateValue,Metric:MetricName}' \
  --output table

# List only alarms currently in ALARM state
aws cloudwatch describe-alarms \
  --state-value ALARM \
  --query 'MetricAlarms[].AlarmName'

CloudWatch-Alarm erstellen

Beim Erstellen eines Alarms legen Sie Folgendes fest: die Metrik und den Namespace, die Statistik (Average, Sum, Maximum usw.), den Zeitraum (wie häufig die Metrik in Sekunden ausgewertet wird), die Auswertungszeiträume (wie viele aufeinanderfolgende Zeiträume den Schwellenwert überschreiten müssen), den Schwellenwert und den Vergleichsoperator. Der Alarm wird ausgelöst, wenn die Metrik den Schwellenwert während der angegebenen Anzahl aufeinanderfolgender Auswertungszeiträume überschreitet.

# Create an alarm: trigger when CPU > 70% for 2 consecutive 5-min periods
aws cloudwatch put-metric-alarm \
  --alarm-name HighCPUAlarm \
  --alarm-description 'Trigger when EC2 CPU exceeds 70%' \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
  --statistic Average \
  --period 300 \
  --evaluation-periods 2 \
  --threshold 70 \
  --comparison-operator GreaterThanThreshold \
  --alarm-actions arn:aws:sns:us-east-1:111122223333:AlertTeam

Alarmaktionen: SNS, Auto Scaling, EC2

Alarmaktionen können auf mehrere Ziele verweisen: Amazon-SNS-Themen (zum Senden von E-Mails und SMS oder zum Auslösen von Lambda), Auto-Scaling-Richtlinien (zum Hoch- oder Herunterskalieren einer ASG) und EC2-Aktionen (zum Stoppen, Beenden, Neustarten oder Wiederherstellen einer EC2-Instance). Für jeden Status (OK, ALARM, INSUFFICIENT_DATA) können Sie einen anderen Aktionssatz festlegen — benachrichtigen Sie beispielsweise das Team bei ALARM, senden Sie bei der Wiederherstellung eine OK-Benachrichtigung und lösen Sie bei INSUFFICIENT_DATA einen Alarm aus, um Überwachungslücken zu erkennen.

# Alarm that stops an idle EC2 instance when CPU < 1% for 30 min
aws cloudwatch put-metric-alarm \
  --alarm-name LowCPUStopInstance \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
  --statistic Average \
  --period 300 \
  --evaluation-periods 6 \
  --threshold 1 \
  --comparison-operator LessThanThreshold \
  --alarm-actions arn:aws:swf:us-east-1:111122223333:action/actions/AWS_EC2.InstanceId.Stop/1.0

Umgang mit fehlenden Daten

Wenn CloudWatch einen Alarm auswertet und einige Datenpunkte fehlen, müssen Sie festlegen, wie damit umgegangen werden soll. Die Optionen sind: notBreaching (fehlende Daten werden als innerhalb des Schwellenwerts liegend behandelt — der Alarm bleibt auf OK, wenn die übrigen Daten OK sind), breaching (fehlende Daten werden als Überschreitung des Schwellenwerts behandelt — der Alarm wechselt zu ALARM), ignore (der Alarmstatus ändert sich nicht) und missing (der Alarm wechselt zu INSUFFICIENT_DATA). Die falsche Wahl führt zu Fehlalarmen oder unbemerkten Ausfällen — eine wichtige Besonderheit der SAA-C03-Prüfung.

# Set missing data treatment on an alarm
aws cloudwatch put-metric-alarm \
  --alarm-name WebsiteLatencyAlarm \
  --metric-name TargetResponseTime \
  --namespace AWS/ApplicationELB \
  --statistic Average \
  --period 60 \
  --evaluation-periods 3 \
  --threshold 2.0 \
  --comparison-operator GreaterThanThreshold \
  --treat-missing-data breaching \
  --alarm-actions arn:aws:sns:us-east-1:111122223333:Ops

Alarmauflösung und Auswertungszeiträume

Die Alarmauflösung ist das Produkt aus Zeitraum × Auswertungszeiträumen. Ein Zeitraum von 60 Sekunden mit 5 Auswertungszeiträumen bedeutet beispielsweise, dass der Alarm 5 aufeinanderfolgende Datenpunkte im Abstand von jeweils 1 Minute berücksichtigt. Standardmäßig wechselt der Alarm erst zu ALARM, wenn alle fünf Zeiträume den Schwellenwert überschreiten. Sie können datapoints-to-alarm so konfigurieren, dass nur M von N Zeiträumen den Schwellenwert überschreiten müssen — beispielsweise 3 von 5. Dadurch verringert sich die Zahl der Fehlalarme aufgrund kurzzeitiger Spitzen.

# Alarm that requires 3 out of 5 periods to breach (reduces false positives)
aws cloudwatch put-metric-alarm \
  --alarm-name CPUSpike \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --dimensions Name=AutoScalingGroupName,Value=my-asg \
  --statistic Average \
  --period 60 \
  --evaluation-periods 5 \
  --datapoints-to-alarm 3 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --alarm-actions arn:aws:autoscaling:us-east-1:111122223333:scalingPolicy:...

Verbundalarme: Mehrere Alarme kombinieren

Ein Verbundalarm wertet den Status mehrerer anderer Alarme mithilfe boolescher Logik (AND, OR, NOT) aus. Er wechselt nur dann in den Status ALARM, wenn der Regelausdruck den Wert true ergibt. Verbundalarme werden verwendet, um Alarmrauschen zu reduzieren — lösen Sie beispielsweise nur dann einen Alarm aus, wenn sowohl der Alarm für hohe CPU-Auslastung ALS AUCH der Alarm für hohe Latenz gleichzeitig aktiv sind, da eine hohe CPU-Auslastung während einer Stapelverarbeitung allein akzeptabel sein kann. Sie können Verbundalarme außerdem verwenden, um untergeordnete Alarme während Wartungsfenstern zu unterdrücken.

# Create a composite alarm (alerts only when BOTH CPU and latency are high)
aws cloudwatch put-composite-alarm \
  --alarm-name HighLoadComposite \
  --alarm-rule 'ALARM("HighCPUAlarm") AND ALARM("HighLatencyAlarm")' \
  --alarm-actions arn:aws:sns:us-east-1:111122223333:CriticalOps \
  --alarm-description 'Alert only when both CPU and latency are elevated'

Alarme mit Verbundalarmen unterdrücken

Verbundalarme unterstützen Aktionen zur Alarmunterdrückung — Sie können einen Verbundalarm so konfigurieren, dass er seine untergeordneten Alarme während geplanter Wartungsarbeiten unterdrückt. Während eines Bereitstellungsfensters könnten Sie beispielsweise einen Verbundalarm einrichten, der einen Alarm „MaintenanceMode“ mit OR-Logik kombiniert und alle Benachrichtigungen untergeordneter Alarme unterdrückt, solange die Wartung aktiv ist. Dadurch verhindern Sie eine Flut von Alarmen, wenn Sie Dienste für Upgrades absichtlich offline nehmen.

# Composite alarm with suppression: alert UNLESS maintenance is active
aws cloudwatch put-composite-alarm \
  --alarm-name ProductionAlerts \
  --alarm-rule 'ALARM("HighCPUAlarm") AND NOT ALARM("MaintenanceModeAlarm")' \
  --alarm-actions arn:aws:sns:us-east-1:111122223333:ProductionOps

Integration in Auto-Scaling-Richtlinien

Auto-Scaling-Gruppen verwenden CloudWatch-Alarme als Auslöser für Richtlinien zur Schritt-Skalierung und zur einfachen Skalierung. Wenn der Alarm in den Status ALARM wechselt, wird die Skalierungsrichtlinie ausgeführt. Bei der Schritt-Skalierung definieren Sie mehrere Skalierungsanpassungen für unterschiedliche Schwellenwertbereiche — beispielsweise 1 Instance hinzufügen, wenn die CPU-Auslastung 70–80 % beträgt, 3 bei 80–90 % und 5 bei über 90 %. Der Alarm löst anhand des Überschreitungsgrads zum Auswertungszeitpunkt den ersten passenden Schritt aus.

# Create a scale-out alarm linked to an ASG scaling policy
aws cloudwatch put-metric-alarm \
  --alarm-name ScaleOutTrigger \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --dimensions Name=AutoScalingGroupName,Value=my-asg \
  --statistic Average \
  --period 60 \
  --evaluation-periods 2 \
  --threshold 70 \
  --comparison-operator GreaterThanThreshold \
  --alarm-actions arn:aws:autoscaling:us-east-1:111122223333:scalingPolicy:POLICY_ARN

CloudWatch-Abrechnungsalarme

Sie können in CloudWatch Abrechnungsalarme erstellen, um benachrichtigt zu werden, wenn Ihre geschätzten AWS-Kosten einen Schwellenwert überschreiten. Abrechnungsmetriken werden nur in der Region us-east-1 veröffentlicht, unabhängig davon, wo Ihre Ressourcen ausgeführt werden, und ungefähr alle 6 Stunden aktualisiert. Um Abrechnungsalarme zu aktivieren, müssen Sie zunächst Billing Alerts in der AWS-Billing-Konsole einschalten. Das präzisere Werkzeug ist AWS Budgets, aber CloudWatch-Abrechnungsalarme sind weiterhin eine gültige und in der Prüfung behandelte Option.

# Create a billing alarm for $100 threshold
aws cloudwatch put-metric-alarm \
  --region us-east-1 \
  --alarm-name MonthlyBillingAlert \
  --alarm-description 'Alert when estimated charges exceed $100' \
  --metric-name EstimatedCharges \
  --namespace AWS/Billing \
  --dimensions Name=Currency,Value=USD \
  --statistic Maximum \
  --period 86400 \
  --evaluation-periods 1 \
  --threshold 100 \
  --comparison-operator GreaterThanThreshold \
  --alarm-actions arn:aws:sns:us-east-1:111122223333:BillingAlerts

Alarme testen und überwachen

Sie können den Alarmstatus mit dem Befehl set-alarm-state manuell festlegen, um Alarmaktionen zu testen, ohne auf eine tatsächliche Überschreitung des Schwellenwerts zu warten. Das ist nützlich, um zu überprüfen, ob Ihre SNS-Themen, Auto-Scaling-Richtlinien und Lambda-Funktionen korrekt reagieren. Testen Sie Alarmaktionen immer in einer Nicht-Produktionsumgebung und überprüfen Sie, dass die richtigen E-Mail-Abonnements für das SNS-Thema bestätigt wurden, bevor Sie sich bei Produktionsalarmen auf diese Alarme verlassen.

# Manually trigger an alarm for testing (does NOT persist — reverts on next evaluation)
aws cloudwatch set-alarm-state \
  --alarm-name HighCPUAlarm \
  --state-value ALARM \
  --state-reason 'Testing alarm action'

# Watch alarm state history
aws cloudwatch describe-alarm-history \
  --alarm-name HighCPUAlarm \
  --history-item-type StateUpdate \
  --query 'AlarmHistoryItems[].{Time:Timestamp,Summary:HistorySummary}'

Schnelltest

Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: Alarme haben drei Status (OK, ALARM, INSUFFICIENT_DATA) und können SNS-, Auto-Scaling- und EC2-Aktionen auslösen; mit datapoints-to-alarm ist eine M-aus-N-Auswertung möglich, um Fehlalarme zu reduzieren; und Verbundalarme verwenden boolesche Logik, um mehrere Alarme zu kombinieren und Alarmrauschen zu unterdrücken. Als Nächstes sehen wir uns CloudWatch Logs und Log Insights für die zentrale Protokollverwaltung an.

Häufig gestellte Fragen

Ist die Lektion „CloudWatch-Alarme und zusammengesetzte Alarme“ kostenlos?

Ja — der vollständige Text von „CloudWatch-Alarme und zusammengesetzte Alarme“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „CloudWatch-Alarme und zusammengesetzte Alarme“?

Legen Sie schwellenwertbasierte Alarme fest, die Auto Scaling oder SNS-Benachrichtigungen auslösen, und kombinieren Sie mehrere Alarme zu einem zusammengesetzten Alarm, um die Anzahl unnötiger Warnun… Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?

Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „CloudWatch-Alarme und zusammengesetzte Alarme“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?

Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. CloudWatch-Metriken, Namespaces und Dimensionen
  2. CloudWatch-Alarme und zusammengesetzte Alarme
  3. CloudWatch Logs und Log Insights
  4. CloudWatch-Dashboards und Container Insights
← Zurück zu Cloud & IT Cert Prep