Diagnosemöglichkeiten bei den Windows Azure Web Sites

Diagnosemöglichkeiten bei den Windows Azure Web SitesWer kennt es nicht?
Auf meinem Rechner lief alles noch einwandfrei, aber auf dem Server bekomme ich eine Fehlermeldung nach der Anderen.
Die Steigerung des Ganzen stellt dann meist noch ein Server dar, über den ich nicht die komplette Kontrolle habe.
Deshalb stelle ich in diesem Blog Post einige Diagnosemöglichkeiten vor, die Visual Studio für die Windows Azure Web Sites bietet …

Das Wichtigste Zuerst:
Für die hier gezeigten Funktionalitäten muss das Windows Azure SDK 2.2 oder höher installiert sein. 😉

Remote Debugging

Starten möchte ich mit offensichtlichsten – dem Remote Debugging.

Nachdem man ein ASP.NET Projekt in einer Windows Azure Web Site veröffentlicht hat, lässt sich der Visual Studio Debugger über den Server Explorer mit dem entsprechenden Prozess verbinden:

Visual Studio Server Explorer - Windows Azure

Visual Studio Server Explorer - Windows Azure Web Sites - Context Menü

Ein Problem das mir dabei immer wieder begegnet, sind die fehlenden Debugging Symbole.

Damit diese auch in Windows Azure zur Verfügung stehen, muss beim Veröffentlichen die Debug-Konfiguration ausgewählt sein:

Publish Settings (Visual Studio)

Sobald die Symbole vorhanden sind, sowie der Debugger sich verbunden hat, öffnet sich ein Browserfenster und das ASP.NET Projekt lässt sich wie gewohnt mit Visual Studio debuggen:

Debugging mit Visual Studio

 

Besonderheiten bei Visual Studio 2012

Was bei Visual Studio 2013 mit einem Klick zu bewerkstelligen ist, ist bei Visual Studio 2012 mit ein wenig mehr Aufwand verbunden:

  1. Am Windows Azure Management Portal anmelden und zum Configure-Bereich der entsprechenden Web Site navigieren.
  2. In der Site Diagnostics-Sektion das Remote Debugging einschalten und die Visual Studio Version 2012 auswählen:
    Windows Azure Web Sites - Site Diagnostics
  3. Zurück zu Visual Studio und im Debug-Menü auf Attach to Process klicken.
  4. In der Qualifier-Textbox muss dann die URL zur Windows Azure Web Site (ohne http:// Prefix) angegeben, sowie die Show processes from all users-Checkbox angehakt werden.
    Bei der Frage nach Benutzer und Passwort, müssen die Daten für das Veröffentlichen von Windows Azure Web Sites verwendet werden.
    Diese kann man u.a. aus dem heruntergeladenen Publish Profile-Dateien beziehen (userName= und userPWD=).
  5. In der Available Processes-Tabelle die w3wp.exe auswählen und auf Attach klicken.
  6. Im Browser die Webseite öffnen.
    Es kann bis zu 20 Sekunden dauern, bis Windows Azure den Server für das Debugging vorbereitet hat.

 

Log Streaming

Eine weitere Möglichkeit stellt das Log Streaming dar.

Dabei können das Application- sowie das Web Server-Log in das Visual Studio Output Fenster gestreamt werden.

Application Log

Über das Application Log lassen sich die Trace-Einträge der Applikation anzeigen.

Um das Application Logging zu aktivieren, kann man zwar ins Windows Azure Management Portal wechseln, aber auch die Änderungen bequem über den Visual Studio Server Explorer durchführen.

Dazu wählt man den Punkt View Settings im Kontextmenü der entsprechenden Web Site aus:

Visual Studio Server Explorer - Windows Azure Web Site Kontextmenü - View Settings

Und stellt dann den entsprechenden Level für das Application Logging ein:

Application Logging Level

Danach wählt man im Kontextmenü den Punkt View Streaming Logs in Output Windows aus, …

Visual Studio Server Explorer - Windows Azure Web Site Kontextmenü - View Streaming Logs in Output Windows

… um die Live-Ansicht des Application-Logs anzuzeigen:

Visual Studio Output-Fenster - Log Streaming - Application Log

 

Web Server Log

Auch das Web Server Log lässt sich auf diese Weise anzeigen.

Dazu muss man zuerst das Web Server Logging aktivieren …

Web Server Logging

… und anschließend in den Windows Azure Logging Optionen die Web Server logs auswählen:

Windows Azure Logging Optionen-Button

Windows Azure Logging Optionen-Dialog

Daraufhin werden zusätzlich die Einträge aus dem Web Server Log mit angezeigt:

Visual Studio Output-Fenster - Log Streaming - Web Server Log

 

Herunterladen der im Dateisystem gespeicherten Logs

Die im Dateisystem der Web Site erzeugten Logs können zusätzlich heruntergeladen werden.

Dies kann über FTP, dem Download-Button im Output-Fenster …

Download-Button im Output-Fenster

… oder den Download-Link im Einstellungsfenster durchgeführt werden:

Download-Link im Einstellungsfenster

 

Logs im Windows Azure Storage persistieren

Zusätzlich zu den bislang gezeigten Möglichkeiten, können die Logs im Windows Azure Table- oder Blob-Storage gespeichert werden.

Dazu wechselt man ins Management Portal und navigiert zum Configure-Bereich der Web Site.

Im der Sektion Application Diagnostics können die entsprechenden Einstellungen für den Windows Azure Table Storage …

Application Diagnostics - Table Storage verwenden

Application Diagnostics - Table Storage Tabelle anlegen

…  und/oder Blob Storage durchgeführt werden:

Application Diagnostics - Blob Storage verwenden

Application Diagnostics - Blob Storage Container anlegen

Danach können beispielsweise die Log-Einträge, die im Table Storage gespeichert wurden, in Visual Studio angezeigt werden:

Visual Studio Server Explorer - Windows Azure Table Storage

Windows Azure Table Storage - Tabellen-Ansicht

 



Verwendete Bildquellen:
© Hans-Joachim Köhn / pixelio.de

Check Also

Time Machine Backups nach Microsoft Azure

Seit einigen Jahren verwende ich eine Apple Time Capsule, um meine Time Machine Backups an einem zentralen Ort speichern zu können. Bislang hatte das für mich auch vollkommen ausgereicht. Seitdem ich jedoch immer mehr unterwegs bin, habe ich nach einer Lösung gesucht, die ich auch von unterwegs nutzen kann. In diesem Blog Post zeige ich deshalb, wie man Time Machine Backups nach Microsoft Azure machen kann.