Cloud-Anwendungen unter Kontrolle

Workshop: So überwachen Sie Azure-basierte Cloud-Anwendungen

Erzeugung von Diagnosedaten

Diagnosedaten fallen auf Windows Azure aus verschiedenen Quellen an. Für deren Sammlung, Zugriff und Auswertung kann der Mechanismus der Azure Diagnostics verwendet werden.

Ein für Azure entwickelter Cloud-Service muss zunächst einen sogenannten Diagnostics-Monitor instanziieren. Dieser koordiniert und steuert die Sammlung von Diagnosedaten. Hierbei besteht Zugriff auf alle Daten des unter Windows Azure liegenden Windows-Server-Betriebssystems. Die erzeugten Daten werden zunächst im lokalen Dateisystem der Serviceinstanz gespeichert.

Natürlich ist es ebenso möglich, eigene Analysedaten des Cloud-Services selbst zu erzeugen. Dies kann beispielsweise über Tracelogs erfolgen. Auch diese Daten werden zunächst im lokalen Dateisystem gespeichert. Von außen kann auf dieses Dateisystem nicht direkt zugegriffen werden.

Sollen die Diagnosedaten ausgelesen werden, können sie mithilfe des Diagnostic-Monitors in Windows Azure Storage (Blob- oder Table-Storage) übertragen werden. Diese Übertragung kann entweder in regelmäßigen Intervallen oder auf Anforderung erfolgen. Der Windows Azure Storage kann dann über Webservice-Schnittstellen angesprochen werden, und hierüber lassen sich die Daten auslesen.

Windows Azure Diagnostics

Für Diagnose- und Überwachungszwecke steht mit Windows Azure Diagnostics ein Windows-Azure-Subsystem zur Verfügung, das indirekten Zugriff auf verschiedene Diagnosedaten einer Azure-basierten Cloud-Anwendung ermöglicht. Die Interaktion mit Windows Azure Diagnostics erfolgt in drei Schritten:

1. Initialisierung des Diagnosesystems mithilfe eines Diagnostics Monitors;

2. Übertragung von Diagnosedaten an Windows Azure Storage (in regelmäßigen Intervallen oder auf Anforderung);

3. Auslesen der Diagnosedaten aus Windows Azure Storage mit anschließender Auswertung.

Das Windows Azure Software Development Kit (SDK) stellt Entwicklern eine Reihe von Klassen zur Verfügung, mit deren Hilfe Initialisierung und Übertragung ausgelöst werden können.