Einführung in die Überwachung von Clouddiensten (klassisch)
Wichtig
Cloud Services (klassisch) ist jetzt ab dem 1. September 2024 für alle Kunden veraltet. Alle vorhandenen ausgeführten Bereitstellungen werden beendet und von Microsoft heruntergefahren, und die Daten gehen ab Oktober 2024 dauerhaft verloren. In neuen Bereitstellungen sollte das neue auf Azure Resource Manager basierende Bereitstellungsmodell für Azure Cloud Services (erweiterter Support) verwendet werden.
Sie können wichtige Leistungsmetriken für beliebige Clouddienste überwachen. Für jede Clouddienstrolle werden minimale Daten zur CPU-Nutzung, Netzwerkverwendung und Datenträgerverwendung erfasst. Wenn auf eine Rolle des Clouddiensts die Erweiterung Microsoft.Azure.Diagnostics
angewandt wurde, können für die Rolle weitere Datenpunkte erfasst werden. Dieser Artikel bietet eine Einführung in die Azure-Diagnose für Clouddienste.
Bei der grundlegenden Überwachung werden alle drei Minuten Leistungsindikatordaten aus den Rolleninstanzen abgefragt und erfasst. Diese grundlegenden Überwachungsdaten werden nicht in Ihrem Speicherkonto gespeichert und verursachen keine zusätzlichen Kosten.
Bei der erweiterten Überwachung werden in Intervallen von fünf Minuten, einer Stunde und zwölf Stunden weitere Metriken abgefragt und erfasst. Die aggregierten Daten werden unter einem Speicherkonto in Tabellen gespeichert und nach zehn Tagen gelöscht. Das verwendete Speicherkonto wird nach der Rolle konfiguriert. Sie können verschiedene Speicherkonten für verschiedene Rollen verwenden. Die Konfiguration erfolgt mithilfe einer Verbindungszeichenfolge in den CSDEF- und CSCFG-Dateien.
Grundlegende Überwachung
Wie in der Einführung beschrieben, erfasst ein Clouddienst automatisch grundlegende Überwachungsdaten vom virtuellen Hostcomputer. Zu diesen Daten gehören: CPU-Prozentsatz, Netzwerk-E/A und Lese-/Schreibzugriffe auf Datenträger. Die erfassten Überwachungsdaten werden automatisch auf den Übersichts- und Metrikseiten des Clouddiensts im Azure-Portal angezeigt.
Für die grundlegende Überwachung wird kein Speicherkonto benötigt.
Erweiterte Überwachung
Bei der erweiterten Überwachung wird die Azure-Diagnose (und optional das Application Insights-SDK) für die zu überwachende Rolle verwendet. Die Diagnoseerweiterung verwendet (pro Rolle) eine Konfigurationsdatei mit dem Namen diagnostics.wadcfgx zur Konfiguration der überwachten Diagnosemetriken. Die Azure-Diagnoseerweiterung sammelt und speichert Daten in einem Azure Storage-Konto. Diese Einstellungen werden in den WADCFGX-, CSDEF- und CSCFG-Dateien konfiguriert. Dies bedeutet, dass die erweiterte Überwachung mit zusätzlichen Kosten verbunden ist.
Während der Erstellung einer Rolle wird ihr von Visual Studio die Azure-Diagnoseerweiterung hinzugefügt. Diese Diagnoseerweiterung kann die folgenden Informationstypen erfassen:
- Benutzerdefinierte Leistungsindikatoren
- Anwendungsprotokolle
- Windows-Ereignisprotokolle
- .NET-Ereignisquelle
- Protokolle für Internetinformationsdienste (IIS)
- Manifestbasierte Ereignisablaufverfolgung für Windows (ETW)
- Benutzerdefinierte Fehlerprotokolle
Wichtig
Die Daten werden zwar vollständig unter dem Speicherkonto aggregiert, allerdings bietet das Portal keine native Möglichkeit, die Daten in einem Diagramm darzustellen. Es wird dringend empfohlen, dass Sie einen anderen Dienst, z.B. Application Insights, in die Anwendung integrieren.
Einrichten der Diagnoseerweiterung
Wenn Sie noch nicht über ein klassisches Speicherkonto verfügen, erstellen Sie zunächst ein Konto. Stellen Sie sicher, dass das Speicherkonto mit dem klassischen Bereitstellungsmodell erstellt wird.
Navigieren Sie als Nächstes zur Ressource Speicherkonto (klassisch). Wählen Sie Einstellungen>Zugriffsschlüssel aus, und kopieren Sie den Wert unter Primäre Verbindungszeichenfolge. Sie benötigen diesen Wert für den Clouddienst.
Es gibt zwei Konfigurationsdateien, die Sie zur Aktivierung der erweiterten Diagnose ändern müssen: ServiceDefinition.csdef und ServiceConfiguration.cscfg.
ServiceDefinition.csdef
Fügen Sie in der Datei ServiceDefinition.csdef für jede Rolle, für die die erweiterte Diagnose verwendet werden soll, eine neue Einstellung mit dem Namen Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
hinzu. Dieser Wert wird der Datei von Visual Studio hinzugefügt, wenn Sie ein neues Projekt erstellen. Falls dieses Element fehlt, können Sie es jetzt hinzufügen.
<ServiceDefinition name="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="WorkerRoleWithSBQueue1" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
Durch diesen Schnipsel wird eine neue Einstellung definiert, die jeder Datei ServiceConfiguration.cscfg hinzugefügt werden muss.
Wahrscheinlich verfügen Sie über zwei .cscfg-Dateien, eine mit dem Namen ServiceConfiguration.cloud.cscfg für die Bereitstellung in Azure und eine mit dem Namen ServiceConfiguration.local.cscfg, die für lokale Bereitstellungen in der emulierten Umgebung verwendet wird. Öffnen und ändern Sie jede CSCFG-Datei. Fügen Sie eine Einstellung mit dem Namen Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
hinzu. Legen Sie den Wert auf die primäre Verbindungszeichenfolge des klassischen Speicherkontos fest. Zur Nutzung des lokalen Speichers auf dem Entwicklungscomputer verwenden Sie UseDevelopmentStorage=true
.
<ServiceConfiguration serviceName="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
<Role name="WorkerRoleWithSBQueue1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=KWwkdfmskOIS240jnBOeeXVGHT9QgKS4kIQ3wWVKzOYkfjdsjfkjdsaf+sddfwwfw+sdffsdafda/w==" />
<!-- or use the local development machine for storage
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
-->
Verwenden von Application Insights
Wenn Sie den Clouddienst über Visual Studio veröffentlichen, können Sie die Diagnosedaten an Application Insights senden. Sie können die Azure-Ressource von Application Insights dann erstellen oder die Daten an eine vorhandene Azure-Ressource senden. Application Insights kann Ihren Clouddienst auf Verfügbarkeit, Leistung, Ausfälle und Auslastung überwachen. Application Insights können benutzerdefinierte Diagramme hinzugefügt werden. So haben Sie immer die relevanten Daten im Blick. Rolleninstanzdaten können mithilfe des Application Insights SDKs in Ihrem Clouddienstprojekt erfasst werden. Weitere Informationen zur Integration von Application Insights finden Sie unter Application Insights für Azure Cloud Services.
Sie können die Leistungsindikatoren (und weiteren Einstellungen), die Sie über die Microsoft Azure-Diagnoseerweiterung festgelegt haben, mithilfe von Application Insights anzeigen, erhalten allerdings noch bessere Darstellungsmöglichkeiten, wenn Sie das Application Insights SDK in Ihre Worker- und Webrollen integrieren.