Samstag, 10. April 2010

Facts of the week

Da ich mich zur Zeit intensiv mit den Themen Cloud Computing mit Windows Azure und Silverlight Business Applications beschäftige, möchte an dieser Stelle mit einem “facts of the week” (wenn möglich wöchentlich) einige Erkenntnisse bzw. Wissenwertes bloggen. Kann sein, das die Informationen nicht immer ganz strukturiert sind, aber ich werde immer versuchen, das entsprechende Themengebiet kurz zu umreißen.

Also let’s start:

Kein Browser-Fenster starten, beim Debuggen einer Windows Azure-Anwendung in der DevFabric.
Configuration der Rolle->Startup action Launch Browser for Http Endpoint nicht ankreuzen

Windows Azure: Lokaler Speicher einer Instanz (nicht der Storage von Windows Azure)

· The local storage is not shared between instances

Tracen von Windows Azure Anwendungen

Windows Azure nutzt den Storage zur Ablage von allen möglichen Logs (IIS, Windows,…siehe unten….) und den Trace.WriteLine Informationen. Hierzu ist notwendig:

Web.Config (alle gewünschten Listener hinzufügen)

<system.diagnostics> 
<trace autoflush="false" indentsize="4"> 
<listeners> 
<add name="AzureDiagnostics" 
type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
</listeners> 
</trace> 
</system.diagnostics>

Trace.WriteLine("Hier ist ein KRITISCHER Log-Eintrag", "Critical");
Trace.WriteLine("Hier ist eine INFORMATION für das Log", "Information");

Beim Zugriff auf den Azure Storage, von wo aus die Logs dann auf dem üblichen Weg (Storage API oder Webservices) ausgelesen werden können, können die Logs nach Datentyp, Level und Zeitraum gefiltert werden. Die folgende Tabelle gibt einen Überblick über die möglichen Informationsquellen für die Anwendungsüberwachung und Analyse.

Datenquelle

Standardkonfiguration

Konfiguration

Format

Trace Logs

aktiviert, lokal gespeichert

Diagnostics API, Trace Listener

Table

Performance Counters

deaktiviert

Diagnostics API

Table

Windows Event Logs

deaktiviert

Diagnostics API

Table

Infrastruktur-Logs

aktiviert, lokal gespeichert

Diagnostics API

Table

IIS Logs

aktiviert, lokal gespeichert

Diagnostics API, Web.config

Blob

IIS Failed Request Logs

deaktiviert

Diagnostics API, Web.config

Blob

Application Crash Dumps

deaktiviert

Diagnostics API, Crash API

Blob

Beliebige Logs & Dateien

deaktiviert

Diagnostics API

Blob

       

Die wichtigsten Windows Azure Bibliotheken

  • Microsoft.WindowsAzure
    Über die Klassen dieses Namespaces können die Credentials für Windows Azure Storage Accounts verwaltet werden
  • Microsoft.WindowsAzure.ServiceRuntime
    Klassen in diesem Namespace erlauben die Interaktion mit der Windows Azure-Umgebung aus einer Role heraus
  • Microsoft.WindowsAzure.Diagnostics
    Die Klassen aus diesem Namespace werden für die Sammlung von Logging- und Diagnosemeldungen benötigt
  • Microsoft.WindowsAzure.Diagnostics.Management
    Klassen dieses Namespaces können dazu verwendet werden Logging- und Diagnoseinformationen auszulesen
  • Microsoft.WindowsAzure.StorageClient
    Dieser Namespace umfasst die Klassen für den Zugriff auf den Windows Azure Storage Service. Die betreffenden Klassen waren während der CTP-Phase im Namespace Samples enthalten.
  • Microsoft.WindowsAzure.StorageClient.Protocol
    Klassen aus diesem Namespace stellen Wrapper für den Zugriff auf den Windows Azure Storage via REST-Protokoll zur Verfügung.

Windows Azure Version angeben

Spätestens nach Erscheinen der OS-Version 1.1 (Februar 2010) ist es notwendig, die OS-Version zu konfigurieren, die man in der Staging- bzw. Prod-Umgebung auf dem Windows Azure Space benutzt. Dies geschieht in der Windows Azure Service Configuration Datei. Die Eigenschaft osVersion kann dann folgenden Wert haben:

WA-GUEST-OS-M.m_YYYYMM-nn

Where:

WA-GUEST-OS is a fixed string
M.m refers to the major and minor versions
YYYY refers to the year
MM refers to the month

!Wichtig!:
If this attribute is omitted from the configuration file when you deploy your service, the service is deployed to the default version of the operating system; the default version is undefined.

Keine Kommentare:

Kommentar veröffentlichen