Cloud-Anwendungen unter Kontrolle

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

Zugriff auf Diagnosedaten

Aus dem Windows Azure Storage können die Diagnosedaten dann über Standardschnittstellen (REST-basierte Webservices) ausgelesen werden. Grundsätzlich kann dies also über beliebige Werkzeuge bewerkstelligt werden, die diese Schnittstellen unterstützen

Der Datentransfer nach Windows Azure Storage kann üblicherweise automatisiert in regelmäßigen Intervallen oder auf Anforderung erfolgen. Die Konfiguration des kontinuierlichen Datentransfers ist bereits in Listing 2 zu sehen. Dort wurde für Fehlermeldungen aus der Diagnostics-Infrastruktur ein Datentransfer in Abständen von fünf Minuten eingestellt. Selbstverständlich sind hier auch kleinere Intervalle möglich, um eine möglichst durchgehende Statusaktualisierung einsehen zu können.

Ein Datentransfer kann zudem auf Anforderung erfolgen. Diese kann von innerhalb einer Cloud Anwendung oder von außerhalb kommen. Das Codefragment in Listing 5 zeigt, wie der Datentransfer für eine bestimmte Anwendungsinstanz initiiert werden kann.

Listing 5

// Erstelle für eine bestimmte Cloud-Anwendung einen neuen Diagnostic Manager
var diagManager = new DeploymentDiagnosticManager(storageAccount, deploymentID);
// Leite aus diesem auf der Anwendungsebene definierten Diagnostic Manager den
// Diagnostic Manager der gewünschten Rolle und Instanz ab.
var roleInstDiagMgr = diagManager.GetRoleInstanceDiagnosticManager(roleName,
roleInstanceName);
// Alle verzeichnisbasierten Logs sollen übertragen werden.
DataBufferName dataBuffersToTransfer = DataBufferName.Directories;
// Es sollen alle Daten, das heißt von Beginn der Aufzeichnungen bis zum gegenwärtigen
// Zeitpunkt, übertragen werden.
OnDemandTransferOptions transferOptions = new OnDemandTransferOptions();
transferOptions.From = DateTime.MinValue;
transferOptions.To = DateTime.UtcNow;
// Initiiere den Datentransfer.
Guid requestID = roleInstDiagMgr.BeginOnDemandTransfer(dataBuffersToTransfer,
transferOptions);

Mit Abschluss des regelmäßigen oder angeforderten Datentransfers liegen die betreffenden Diagnosedaten in den in Tabelle 1 aufgelisteten Windows-Azure-Storage-Bereichen. Von dort aus können sie über verschiedene Werkzeuge ausgelesen und ausgewertet werden.