Einführung in die Überwachung von ClouddienstenIntroduction to Cloud Service Monitoring

Sie können wichtige Leistungsmetriken für beliebige Clouddienste überwachen.You can monitor key performance metrics for any cloud service. Für jede Clouddienstrolle werden minimale Daten zur CPU-Nutzung, Netzwerkverwendung und Datenträgerverwendung erfasst.Every cloud service role collects minimal data: CPU usage, network usage, and disk utilization. Wenn auf eine Rolle des Clouddiensts die Erweiterung Microsoft.Azure.Diagnostics angewendet wurde, können für die Rolle zusätzliche Datenpunkte erfasst werden.If the cloud service has the Microsoft.Azure.Diagnostics extension applied to a role, that role can collect additional points of data. Dieser Artikel bietet eine Einführung in die Azure-Diagnose für Clouddienste.This article provides an introduction to Azure Diagnostics for Cloud Services.

Bei der grundlegenden Überwachung werden alle drei Minuten Leistungsindikatordaten aus den Rolleninstanzen abgefragt und erfasst.With basic monitoring, performance counter data from role instances is sampled and collected at 3-minute intervals. Daten aus der grundlegenden Überwachung werden nicht unter Ihrem Speicherkonto gespeichert und verursachen keine zusätzlichen Kosten.This basic monitoring data is not stored in your storage account and has no additional cost associated with it.

Bei der erweiterten Überwachung werden in Intervallen von fünf Minuten, einer Stunde und zwölf Stunden zusätzliche Metriken abgefragt und erfasst.With advanced monitoring, additional metrics are sampled and collected at intervals of 5 minutes, 1 hour, and 12 hours. Die aggregierten Daten werden unter einem Speicherkonto in Tabellen gespeichert und nach zehn Tagen gelöscht.The aggregated data is stored in a storage account, in tables, and is purged after 10 days. Das verwendete Speicherkonto wird nach der Rolle konfiguriert. Sie können verschiedene Speicherkonten für verschiedene Rollen verwenden.The storage account used is configured by role; you can use different storage accounts for different roles. Die Konfiguration erfolgt mithilfe einer Verbindungszeichenfolge in der CSDEF- und CSCFG-Datei.This is configured with a connection string in the .csdef and .cscfg files.

Grundlegende ÜberwachungBasic monitoring

Wie in der Einführung beschrieben, erfasst ein Clouddienst automatisch grundlegende Überwachungsdaten vom virtuellen Hostcomputer.As stated in the introduction, a cloud service automatically collects basic monitoring data from the host virtual machine. Zu diesen Daten gehören: CPU-Prozentsatz, Netzwerk-E/A und Lese-/Schreibzugriffe auf Datenträger.This data includes CPU percentage, network in/out, and disk read/write. Die erfassten Überwachungsdaten werden automatisch auf den Übersichts- und Metrikseiten des Clouddiensts im Azure-Portal angezeigt.The collected monitoring data is automatically displayed on the overview and metrics pages of the cloud service, in the Azure portal.

Für die grundlegende Überwachung wird kein Speicherkonto benötigt.Basic monitoring does not require a storage account.

Kacheln der grundlegenden Clouddienstüberwachung

Erweiterte ÜberwachungAdvanced monitoring

Bei der erweiterten Überwachung wird die Azure-Diagnose (und optional das Application Insights-SDK) für die zu überwachende Rolle verwendet.Advanced monitoring involves using the Azure Diagnostics extension (and optionally the Application Insights SDK) on the role you want to monitor. Die Diagnoseerweiterung verwendet (pro Rolle) eine Konfigurationsdatei mit dem Namen diagnostics.wadcfgx zur Konfiguration der überwachten Diagnosemetriken.The diagnostics extension uses a config file (per role) named diagnostics.wadcfgx to configure the diagnostics metrics monitored. Die Azure-Diagnoseerweiterung sammelt und speichert Daten in einem Azure Storage-Konto.The Azure Diagnostic extension collects and stores data in an Azure Storage account. Diese Einstellungen werden in den WADCFGX-, CSDEF- und CSCFG-Dateien konfiguriert.These settings are configured in the .wadcfgx, .csdef, and .cscfg files. Dies bedeutet, dass die erweiterte Überwachung mit zusätzlichen Kosten verbunden ist.This means that there is an extra cost associated with advanced monitoring.

Während der Erstellung einer Rolle wird ihr von Visual Studio die Azure-Diagnoseerweiterung hinzugefügt.As each role is created, Visual Studio adds the Azure Diagnostics extension to it. Diese Diagnoseerweiterung kann die folgenden Informationstypen erfassen:This diagnostics extension can collect the following types of information:

  • Benutzerdefinierte LeistungsindikatorenCustom performance counters
  • AnwendungsprotokolleApplication logs
  • Windows-EreignisprotokolleWindows event logs
  • .NET-Ereignisquelle.NET event source
  • IIS-ProtokolleIIS logs
  • Manifestbasiertes ETWManifest based ETW
  • AbsturzabbilderCrash dumps
  • Benutzerdefinierte FehlerprotokolleCustomer error logs

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.While all this data is aggregated into the storage account, the portal does not provide a native way to chart the data. Es wird dringend empfohlen, dass Sie einen anderen Dienst, z.B. Application Insights, in die Anwendung integrieren.It is highly recommended that you integrate another service, like Application Insights, into your application.

Einrichten der DiagnoseerweiterungSetup diagnostics extension

Wenn Sie noch nicht über ein klassisches Speicherkonto verfügen, erstellen Sie zunächst ein Konto.First, if you don't have a classic storage account, create one. Stellen Sie sicher, dass das Speicherkonto mit dem klassischen Bereitstellungsmodell erstellt wird.Make sure the storage account is created with the Classic deployment model specified.

Navigieren Sie als Nächstes zur Ressource Speicherkonto (klassisch) .Next, navigate to the Storage account (classic) resource. Wählen Sie Einstellungen > Zugriffsschlüssel aus, und kopieren Sie den Wert unter Primäre Verbindungszeichenfolge.Select Settings > Access keys and copy the Primary connection string value. Sie benötigen diesen Wert für den Clouddienst.You need this value for the cloud service.

Es gibt zwei Konfigurationsdateien, die Sie zur Aktivierung der erweiterten Diagnose ändern müssen: ServiceDefinition.csdef und ServiceConfiguration.cscfg.There are two config files you must change for advanced diagnostics to be enabled, ServiceDefinition.csdef and ServiceConfiguration.cscfg.

ServiceDefinition.csdefServiceDefinition.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.In the ServiceDefinition.csdef file, add a new setting named Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString for each role that uses advanced diagnostics. Dieser Wert wird der Datei von Visual Studio hinzugefügt, wenn Sie ein neues Projekt erstellen.Visual Studio adds this value to the file when you create a new project. Falls sie fehlt, können Sie sie jetzt hinzufügen.In case it is missing, you can add it now.

<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" />

Dadurch wird eine neue Einstellung definiert, die jeder Datei ServiceConfiguration.cscfg hinzugefügt werden muss.This defines a new setting that must be added to every ServiceConfiguration.cscfg file.

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.Most likely you have two .cscfg files, one named ServiceConfiguration.cloud.cscfg for deploying to Azure, and one named ServiceConfiguration.local.cscfg that is used for local deployments in the emulated environment. Öffnen und ändern Sie jede CSCFG-Datei.Open and change each .cscfg file. Fügen Sie eine Einstellung mit dem Namen Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString hinzu.Add a setting named Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString. Legen Sie den Wert auf die primäre Verbindungszeichenfolge des klassischen Speicherkontos fest.Set the value to the Primary connection string of the classic storage account. Zur Nutzung des lokalen Speichers auf dem Entwicklungscomputer verwenden Sie UseDevelopmentStorage=true.If you want to use the local storage on your development machine, use 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 InsightsUse Application Insights

Wenn Sie den Clouddienst über Visual Studio veröffentlichen, können Sie die Diagnosedaten an Application Insights senden.When you publish the Cloud Service from Visual Studio, you are given the option to send the diagnostic data to Application Insights. Sie können die Azure-Ressource von Application Insights dann erstellen oder die Daten an eine vorhandene Azure-Ressource senden.You can create the Application Insights Azure resource at that time or send the data to an existing Azure resource. Ihr Clouddienst kann von Application Insights auf Verfügbarkeit, Leistung, Fehler und Auslastung überwacht werden.Your cloud service can be monitored by Application Insights for availability, performance, failures, and usage. Application Insights können benutzerdefinierte Diagramme hinzugefügt werden. So haben Sie immer die relevanten Daten im Blick.Custom charts can be added to Application Insights so that you can see the data that matters the most. Rolleninstanzdaten können mithilfe des Application Insights SDKs in Ihrem Clouddienstprojekt erfasst werden.Role instance data can be collected by using the Application Insights SDK in your cloud service project. Weitere Informationen zur Integration von Application Insights finden Sie unter Application Insights für Azure Cloud Services.For more information on how to integrate Application Insights, see Application Insights with Cloud Services.

Hinweis: 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 die Worker- und Webrollen integrieren.Note that while you can use Application Insights to display the performance counters (and the other settings) you have specified through the Windows Azure Diagnostics extension, you only get a richer experience by integrating the Application Insights SDK into your worker and web roles.

Nächste SchritteNext steps