Linuxguide

AWS CloudWatch – Monitoring und Alarme einrichten 2025

EC2, RDS und Lambda überwachen mit Dashboards und Alarmen

S
SeeColors IT
11. Juni 20264 Min. Lesezeit135 Aufrufe

CloudWatch Metriken

# EC2 CPU-Auslastung der letzten Stunde
aws cloudwatch get-metric-statistics     --namespace AWS/EC2     --metric-name CPUUtilization     --dimensions Name=InstanceId,Value=i-1234567890abcdef0     --start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ)     --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)     --period 300     --statistics Average     --query 'Datapoints | sort_by(@, &Timestamp) | [-5:]'

# RDS-Metriken
aws cloudwatch get-metric-statistics     --namespace AWS/RDS     --metric-name FreeStorageSpace     --dimensions Name=DBInstanceIdentifier,Value=firma-prod-db     --start-time $(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%SZ)     --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)     --period 3600     --statistics Minimum

CloudWatch Alarme erstellen

# SNS Topic für Benachrichtigungen
aws sns create-topic --name aws-alerts
aws sns subscribe     --topic-arn arn:aws:sns:eu-central-1:123456789012:aws-alerts     --protocol email     --notification-endpoint [email protected]

# Alarm: EC2 CPU > 80%
aws cloudwatch put-metric-alarm     --alarm-name "EC2-CPU-High"     --alarm-description "CPU über 80% für 5 Minuten"     --namespace AWS/EC2     --metric-name CPUUtilization     --dimensions Name=InstanceId,Value=i-1234567890abcdef0     --statistic Average     --period 300     --evaluation-periods 2     --threshold 80     --comparison-operator GreaterThanThreshold     --alarm-actions arn:aws:sns:eu-central-1:123456789012:aws-alerts     --ok-actions arn:aws:sns:eu-central-1:123456789012:aws-alerts

# Alarm: RDS Speicher < 5 GB
aws cloudwatch put-metric-alarm     --alarm-name "RDS-DiskSpace-Low"     --namespace AWS/RDS     --metric-name FreeStorageSpace     --dimensions Name=DBInstanceIdentifier,Value=firma-prod-db     --statistic Minimum     --period 300     --evaluation-periods 1     --threshold 5368709120     --comparison-operator LessThanThreshold     --alarm-actions arn:aws:sns:eu-central-1:123456789012:aws-alerts

CloudWatch Logs (Log-Gruppen und Insights)

# Log-Gruppe erstellen
aws logs create-log-group --log-group-name /firma/app/production

# Retention setzen (Kosten sparen)
aws logs put-retention-policy     --log-group-name /firma/app/production     --retention-in-days 30

# CloudWatch Logs Insights Query
aws logs start-query     --log-group-name /firma/app/production     --start-time $(date -d '1 hour ago' +%s)     --end-time $(date +%s)     --query-string 'fields @timestamp, @message | filter @message like /ERROR/ | sort @timestamp desc | limit 20'

# Ergebnis abrufen
aws logs get-query-results --query-id <QUERY_ID>

Custom Metriken

# Eigene Metrik senden (z. B. von Anwendung)
aws cloudwatch put-metric-data     --namespace "FirmaApp/Performance"     --metric-data     '[{"MetricName":"ActiveUsers","Dimensions":[{"Name":"Environment","Value":"Production"}],"Value":150,"Unit":"Count"}]'

CloudWatch Dashboard

cat > dashboard.json << 'EOF'
{
  "widgets": [
    {
      "type": "metric",
      "properties": {
        "title": "EC2 CPU",
        "metrics": [["AWS/EC2","CPUUtilization","InstanceId","i-xxx"]],
        "period": 300,
        "view": "timeSeries"
      }
    }
  ]
}
EOF

aws cloudwatch put-dashboard     --dashboard-name FirmaMonitoring     --dashboard-body file://dashboard.json

FAQ

Was kostet CloudWatch?
Erste 10 Custom Metriken kostenlos, danach ~0,30 USD/Metrik/Monat. Logs: ~0,0076 USD/GB Ingest + 0,033 USD/GB Archivierung.

Fazit

CloudWatch ist für AWS-Umgebungen das native Monitoring-Tool. Alarme mit SNS-E-Mail sind in 15 Minuten konfiguriert.

AWS Monitoring für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel