# Amazon CloudWatch

Amazon CloudWatch ist Bestandteil des Amazon Web Services. Es handelt sich um einen Dienst, der verschiedene Möglichkeiten bietet die eigenen Amazon-Web-Service-(AWS)-Ressourcen zu überwachen. Mit CloudWatch werden Daten zur Leistung und Ausnutzung von Systemen und Anwendungen gesammelt und ausgewertet, um einen Überblick zu generieren, der das Treffen von wichtigen Entscheidungen erleichtert. Beispiel: Mit CloudWatch kann analysiert werden, welche Auslastung eine bei Amazon EC2 gehostete Anwendung hat, und man kann dementsprechend reagieren und eventuell weitere Amazon-EC2-Instanzen hinzubuchen.

## Nutzen von CloudWatch
### Monitoring

CloudWatch bietet die Möglichkeit, verschiedene Amazon-Web-Service Produkte zu überwachen. Die zu überwachenden Metriken unterscheiden sich je nach Produkt. Für EC2 werden die CPU-Auslastung, Festplatten-Lese- und -Schreiboperatoren und die Netzwerktransferrate ausgewertet. Die EC2-Instanzen und Images können einzeln oder zusammengefasst betrachtet werden. Die Auswertung erfolgt über die AWS-Management-Console. Hier hat der Nutzer die Möglichkeit, die Abfragen zusammenzustellen und sich die Ergebnisse als Graph anzeigen zu lassen.

### Alarme

Ein weiteres Merkmal ist das Erstellen von Alarmen. Alarme können helfen, schneller auf besondere Begebenheiten zu reagieren. Ein Alarm überwacht eine Metrik und sendet eine E-Mail (Amazon Simple Notification Service – SNS) bei Überschreiten eines vorab definierten Schwellwertes. So kann beispielsweise bei einer zu hohen CPU-Auslastung eines EC2-Images der Nutzer sofort eine neue Instanz hinzubuchen. Ein Alarm kann über die AWS Management Console oder die Command Line erstellt werden.
Für Amazon EC2 ist es möglich, einen Alarm so zu konfigurieren, dass er Autoscaling-Aktionen vornimmt. Das AutoScaling bei EC2 ermöglicht das automatische Hinzubuchen oder Entfernen von EC2-Instanzen in Abhängigkeit von der Auslastung. Ein Alarm kann somit selbständig eine EC2 Instanz buchen, wenn z. B. ein definierter CPU-Wert überschritten wird.

## Umsetzung

Grundlage von CloudWatch sind Metriken, die die Amazon Web-Service-Produkte bereitstellen. Viele AWS-Produkte können bereits CloudWatch unterstützen. Die Produkte, die den Dienst unterstützen, senden ihre Metriken direkt an CloudWatch. Welche Metriken übermittelt werden, hängt von Art des Produktes ab. Amazon EC2 sendet u. a. die CPU-Auslastung, Festplatten-Lese- und -Schreiboperatoren und die Netzwerktransferrate. Die Datenhaltungszeit umfasst zwei Wochen.
Um Metriken richtig auswerten zu können, erhalten sie verschiedene Attribute. Eine Metrik erhält immer einen Namensraum ("namespace"), eine Dimension, einen Zeitstempel und eine Maßeinheit. Der namespace bildet einen Container, der die Daten einem AWS-Produkt zuordnet (z. B. AWS/EC2 oder AWS/ELB). Dimensionen werden benutzt, um verschiedene Filter zu nutzen. Die Dimensionen unterscheiden sich je nach AWS-Produkt. Für EC2 wäre eine Dimension die instance ID.
Metriken werden im Fünf-Minuten-Intervall erfasst. Ein Intervall von einer Minute kann gegen Aufpreis dazugebucht werden.
Der Amazon Web Service wird in verschiedenen Regionen angeboten, die Metriken aus verschiedenen Regionen können nicht zusammengefasst werden und sind isoliert.
CloudWatch nutzt dann diese Metriken, um statistische Auswertungen durchzuführen und diese dem Anwender in Form von Graphen über die Management-Console bereitzustellen. Wenn Alarme definiert wurden, werden die hierfür erforderlichen Metriken in einem 5- oder 1-Minuten-Intervall überprüft. Gegebenenfalls werden E-Mails (Amazon Simple Notification Service – SNS) versendet oder EC2-Instanzen gemäß dem AutoScaling verwaltet.

## Unterstützte AWS-Produkte

Folgende AWS-Produkte können mit CloudWatch überwacht werden:
* Amazon Elastic Block Store
* Amazon EC2
* Amazon RDS
* Elastic Load Balancing

## Preise

Das Monitoring von Amazon CloudWatch ist für alle Kunden mit einem Amazon EC2, EBS, Elastic Load Balancers, oder RDS Account kostenlos. Hinzu kommen kostenlose zehn Alarme pro Monat.
Für die Herabsetzung des Überwachungsintervalls von Metriken von 5 Minuten auf 1 Minute werden $0.015 pro Instanz-Stunde berechnet.
Ab dem 11. Alarm werden pro Alarm 0,10 $ im Monat in Rechnung gestellt.