Exportieren (0) Drucken
Alle erweitern

Initialisieren oder Ändern der Konfiguration der Azure-Diagnose

Letzte Aktualisierung: Dezember 2014

Sie sammeln Diagnosedaten, indem Sie das Windows Azure-Diagnosemodul in das Dienstmodell importieren und dann Datenquellen konfigurieren, aus denen Diagnosedaten gesammelt werden. Der Diagnosemonitor wird in Windows Azure und im Microsoft Azure-Serveremulator ausgeführt, um Diagnosedaten für eine Rolleninstanz zu sammeln. Wenn das Diagnosemodul in das Dienstmodell für eine Rolle importiert wurde, wird der Diagnosemonitor beim Starten einer Rolleninstanz automatisch gestartet. Zur Sammlung von Diagnosedaten müssen Datenquellen zur Konfiguration des Diagnosemonitors hinzugefügt werden. Wenn Sie den Diagnosemonitor nicht explizit konfigurieren, wird die Standardkonfiguration beim Start der Rolle verwendet. Dem Diagnosemonitor werden standardmäßig nur einige der verfügbaren Datenquellen hinzugefügt. Sie müssen die Auflistung der anderen Datenquellen mit der Datei "diagnostics.wadcfg" konfigurieren. Die Diagnosedaten werden in der Rolleninstanz gesammelt und gespeichert, aber nicht im Speicher beibehalten, sofern Sie kein Speicherkonto in der Datei "ServiceConfiguration.cscfg" angeben. Wenn Ihre Anwendung für Windows Azure bereitgestellt wird, können Sie die Diagnosemonitorkonfiguration über eine Anwendung, die außerhalb von Windows Azure ausgeführt wird, remote ändern. Ausführliche Schritte zum Aktivieren der Diagnose in Ihrer Anwendung finden Sie unter Aktivieren der Diagnose in einem Cloud-Dienst.

Um Diagnosedaten zu sammeln, müssen Sie das Diagnosemodul in das Dienstmodell für jede Rolle importieren, aus der Sie Diagnosedaten sammeln möchten. Das Modul wird importiert, indem der Datei "ServiceDefinition.csdef" ein Import-Element hinzugefügt wird. Im folgenden Beispiel wird das Import-Element gezeigt, das für eine Webrolle definiert ist:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1">
    <!--<Sites> ... </Sites> -->
    <!-- <Endpoints> ... </Endpoints> -->
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

Weitere Informationen zum Definieren der Dienstdefinitionsdatei und der Dienstkonfigurationsdatei finden Sie unter Schemareferenz Weitere Informationen zum Definieren des Dienstmodells für einen gehosteten Dienst finden Sie unter Einrichten eines Cloud-Diensts für Azure.

Diagnosedaten werden standardmäßig nicht im Speicher beibehalten. Um Diagnosedaten an den Speicher zu übertragen, müssen Sie in der Datei "ServiceConfiguration.cscfg" eine Verbindungszeichenfolge definieren. Im folgenden Beispiel wird gezeigt, wie eine Verbindungszeichenfolge zum Übertragen von Daten an den Microsoft Azure-Speicheremulator definiert wird:

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
  <Role name="WebRole1">
    <Instances count="1" />
    <ConfigurationSettings>
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Wenn Sie in Windows Azure ein Speicherkonto verwenden möchten, müssen Sie die Verbindungszeichenfolge so ändern, dass sie einen Kontonamen und einen Kontoschlüssel enthält:


<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"/>
</ConfigurationSettings>

Die Werte für AccountName und AccountKey finden Sie im Windows Azure-Verwaltungsportal im Speicherkonto-Dashboard unter "Zugriffsschlüssel verwalten". Für die Verbindungszeichenfolge muss das Protokoll https verwendet werden.

Nur einige der verfügbaren Datenquellen werden dem Diagnosemonitor standardmäßig hinzugefügt. Wenn Sie bestimmte Arten von Diagnosedaten sammeln möchten, müssen Sie andere Datenquellen hinzufügen. Weitere Informationen zu den Arten von Diagnosedaten, die von der Anwendung gesammelt werden können, finden Sie unter Diagnosedatenquellen.

Sie sammeln Diagnosedaten, indem Sie das Diagnosemodul in das Dienstmodell importieren und dann die Datenquellen konfigurieren, aus denen Diagnosedaten gesammelt werden. Zur Sammlung von Diagnosedaten müssen Datenquellen zur Konfiguration des Diagnosemonitors hinzugefügt werden. Zum Konfigurieren von Diagnosedaten sind mehrere Mechanismen verfügbar. Der bevorzugte Mechanismus für die Verwaltung einer rollenweiten Konfiguration ist, bei der Bereitstellung die Konfigurationsdatei "diagnostics.wadcfg" zu verwenden. Weitere Informationen finden Sie unter Mechanismen für die Diagnosekonfiguration und Rangfolge.

Nachdem Sie einen Cloud-Dienst bereitgestellt haben, können Sie die Konfiguration des Diagnosemonitors in Ihrer Anwendung über eine außerhalb von Windows Azure ausgeführte Anwendung remote ändern.

In Version 1.2 konnten Sie den Diagnosemonitor programmgesteuert konfigurieren. Dies wird ab Version 1.3 und höher nicht mehr unterstützt. In den Versionen 1.2, 1.3 und höher bietet Ihnen das Microsoft Azure SDK die Möglichkeit, die Diagnose stattdessen mit einer XML-Konfigurationsdatei ("diagnostics.wadcfg") zu konfigurieren. Diese Methode hat viele Vorteile gegenüber dem Schreiben von Code in der OnStart-Methode:

  1. Die Diagnose beginnt, bevor die OnStart-Methode ausgeführt wird, sodass Fehler in den Startaufgaben abgefangen und protokolliert werden können.

  2. Alle Änderungen, die an der Konfiguration zur Laufzeit vorgenommen werden, bleiben nach einem Neustart bestehen.

  3. Bei Änderungen an der Diagnosekonfiguration ist es nicht notwendig, den Code neu zu erstellen.

  4. Sie können den Diagnosemonitor mit einer bestimmten Konfiguration automatisch starten, ohne dass zusätzlicher Code erforderlich ist (der ggf. eine Ausnahme verursacht, die den Start der Rolle verhindert).

Für Webrollen wird die Konfigurationsdatei "diagnostics.wadcfg" in das Verzeichnis "bin" unter dem Stammverzeichnis der Rolle eingefügt. Für Workerrollen wird die Konfigurationsdatei "diagnostics.wadcfg" in das Stammverzeichnis der Rolle eingefügt. Wenn die Konfigurationsdatei beim Import des Diagnosemoduls in einem dieser Speicherorte vorhanden ist, werden die Einstellungen im Diagnosemonitor mithilfe der Konfigurationsdatei anstelle der Standardeinstellungen konfiguriert. Wenn die Web- oder Workerrolle bereitgestellt wird, werden die Konfigurationsinformationen in der Datei "diagnostics.wadcfg" in den Container "wad-control-container" im Speicherkonto geschrieben. Weitere Informationen zum Verwenden der Diagnosekonfigurationsdatei finden Sie unter Verwenden der Konfigurationsdatei für die Azure-Diagnose.

Sie können die Start-Methode mit DiagnosticMonitorConfiguration verwenden, um die Diagnosekonfiguration in der OnStart-Methode der Rolle festzulegen. Diese Vorgehensweise ist zwar für eine neue Bereitstellung effektiv, aber nicht für eine Updatebereitstellung und wird daher am besten vermieden.

noteHinweis
Dies gilt für Azure SDK 2.4 und niedriger.

Nachdem Sie einen Cloud-Dienst bereitgestellt haben, können Sie die Konfiguration des Diagnosemonitors über den Code einer Anwendung, die außerhalb von Windows Azure ausgeführt wird, mithilfe der DeploymentDiagnosticManager-Klasse remote ändern. Aus dieser Klasse können Sie die Diagnosemonitore für eine oder mehrere Rolleninstanzen ändern. Sie können die Konfiguration des Diagnosemonitors für eine Rolleninstanz auch mithilfe der RoleInstanceDiagnosticManager-Klasse ändern. Weitere Informationen finden Sie unter Remoteänderung der Diagnosemonitorkonfiguration.

noteHinweis
Dies gilt für Azure SDK 2.4 und niedriger.

Siehe auch

Anzeigen:
© 2015 Microsoft