Application Insights für Azure Cloud ServicesApplication Insights for Azure cloud services

Application Insights kann Azure Cloud Services-Apps auf Verfügbarkeit, Leistung, Fehler und Verwendung überwachen. Dabei werden Daten aus den Application Insights-SDKs mit Daten der Azure-Diagnose aus Cloud Services kombiniert.Application Insights can monitor Azure cloud service apps for availability, performance, failures, and usage by combining data from Application Insights SDKs with Azure Diagnostics data from your cloud services. Mit dem Feedback zur Leistung und Effektivität der App in der Praxis können Sie in jedem Entwicklungslebenszyklus eine fundierte Entscheidung für die Richtung des Entwurfs treffen.With the feedback you get about the performance and effectiveness of your app in the wild, you can make informed choices about the direction of the design in each development lifecycle.

Übersichtsdashboard

VoraussetzungenPrerequisites

Bevor Sie beginnen, benötigen Sie Folgendes:Before you begin, you need:

  • Ein Azure-Abonnement.An Azure subscription. Melden Sie sich mit Ihrem Microsoft-Konto für Windows, Xbox Live oder andere Microsoft-Clouddienste an.Sign in with your Microsoft account for Windows, Xbox Live, or other Microsoft cloud services.
  • Microsoft Azure-Tools 2.9 oder höher.Microsoft Azure tools 2.9 or later.
  • Developer Analytics Tools 7.10 oder höher.Developer Analytics Tools 7.10 or later.

Schneller EinstiegGet started quickly

Am schnellsten und einfachsten können Sie Ihren Clouddienst mit Application Insights überwachen, wenn Sie diese Option beim Veröffentlichen des Diensts in Azure auswählen.The quickest and easiest way to monitor your cloud service with Application Insights is to choose that option when you publish your service to Azure.

Seite mit Beispiel für Diagnoseeinstellungen

Mit dieser Option wird die App zur Laufzeit instrumentiert, sodass Sie alle erforderlichen Telemetriedaten zum Überwachen von Anforderungen, Ausnahmen und Abhängigkeiten in Ihrer Webrolle erhalten.This option instruments your app at runtime, giving you all the telemetry that you need to monitor requests, exceptions, and dependencies in your web role. Leistungsindikatoren aus Ihren Workerrollen werden ebenfalls überwacht.It also monitors performance counters from your worker roles. Auch alle von Ihrer App generierten Diagnoseablaufverfolgungen werden an Application Insights gesendet.Any diagnostics traces generated by your app are also sent to Application Insights.

Wenn Sie nur diese Option benötigen, sind Sie fertig.If this option is all you need, you're done.

Die nächsten Schritte sind: Anzeigen von Metriken aus der App und Abfragen von Daten mit Analytics.Your next steps are viewing metrics from your app, querying your data with Analytics.

Zur Überwachung der Leistung im Browser sollten Sie Verfügbarkeitstests einrichten und Ihren Webseiten Code hinzufügen.To monitor performance in the browser, you might also want to set up availability tests and add code to your webpages.

In den nächsten Abschnitten werden die folgenden zusätzlichen Optionen erläutert:The next sections discuss the following additional options:

  • Senden von Daten aus verschiedenen Komponenten und Erstellen von Konfigurationen zum Trennen von RessourcenSend data from various components and build configurations to separate resources.
  • Hinzufügen von benutzerdefinierten Telemetriedaten aus der AppAdd custom telemetry from your app.

Mit Application Insights instrumentierte Beispiel-AppSample app instrumented with Application Insights

In dieser Beispiel-App wird Application Insights einem Clouddienst mit zwei in Azure gehosteten Workerrollen hinzugefügt.In this sample app, Application Insights is added to a cloud service with two worker roles hosted in Azure.

Im nächsten Abschnitt erfahren Sie, wie Sie Ihr eigenes Clouddienstprojekt auf die gleiche Weise anpassen können.In the next section, you learn how to adapt your own cloud service project in the same way.

Planen von Ressourcen und RessourcengruppenPlan resources and resource groups

Die Telemetriedaten aus Ihrer App werden in einer Azure-Ressource vom Typ Application Insights gespeichert, analysiert und angezeigt.The telemetry from your app is stored, analyzed, and displayed in an Azure resource of type Application Insights.

Jede Ressource gehört jeweils zu einer Ressourcengruppe.Each resource belongs to a resource group. Ressourcengruppen werden zum Verwalten von Kosten, zum Gewähren des Zugriffs für Teammitglieder und zum Bereitstellen von Updates in einer koordinierten Transaktion verwendet.Resource groups are used to manage costs, to grant access to team members, and to deploy updates in a single coordinated transaction. Beispielsweise können Sie ein Skript zum Bereitstellen eines Azure-Clouddiensts und der zugehörigen Application Insights-Überwachungsressourcen in einem kombinierten Vorgang schreiben.For example, you could write a script to deploy an Azure cloud service and its Application Insights monitoring resources all in one operation.

Ressourcen für KomponentenResources for components

Es wird empfohlen, für jede Komponente Ihrer App eine separate Ressource zu erstellen.We recommend that you create a separate resource for each component of your app. D.h. Sie erstellen eine Ressource für jede Web- und Workerrolle.That is, you create a resource for each web role and worker role. Sie können jede Komponente einzeln analysieren, können jedoch auch ein Dashboard erstellen, das die wichtigsten Diagramme aus allen Komponenten vereint, sodass Sie diese in einer zentralen Ansicht vergleichen und zusammen überwachen können.You can analyze each component separately, but you create a dashboard that brings together the key charts from all the components, so that you can compare and monitor them together in a single view.

Ein alternativer Ansatz besteht darin, die Telemetriedaten von mehreren Rollen an dieselbe Ressource zu senden, jedoch jedem Telemetriedatenelement eine Dimensionseigenschaft hinzuzufügen, mit der die jeweilige Quellrolle identifiziert wird.An alternative approach is to send the telemetry from more than one role to the same resource, but add a dimension property to each telemetry item that identifies its source role. In diesem Ansatz wird in Metrikdiagrammen (z.B. Ausnahmen) normalerweise eine Aggregation der Zählungen aus den unterschiedlichen Rollen angezeigt. Sie können jedoch das Diagramm bei Bedarf nach Rollenbezeichnern segmentieren.In this approach, metric charts, such as exceptions, normally show an aggregation of the counts from the various roles, but you can segment the chart by the role identifier, as necessary. Suchvorgänge können auch nach der gleichen Dimension gefiltert werden.You can also filter searches by the same dimension. Mit dieser Alternative können alle Daten etwas einfacher gleichzeitig angezeigt werden, es kann jedoch zu einer gewissen Verwirrung im Hinblick auf die Rollen führen.This alternative makes it a bit easier to view everything at the same time, but it could also lead to some confusion between the roles.

Browsertelemetriedaten sind in der Regel in der gleichen Ressource wie die zugehörige serverseitige Webrolle enthalten.Browser telemetry is usually included in the same resource as its server-side web role.

Legen Sie die Application Insights-Ressourcen für die verschiedenen Komponenten in einer Ressourcengruppe ab.Put the Application Insights resources for the various components in one resource group. Mit diesem Ansatz können sie einfach zusammen verwaltet werden.This approach makes it easy to manage them together.

Trennen von Entwicklung, Test und ProduktionSeparate development, test, and production

Wenn Sie benutzerdefinierte Ereignisse für das nächste Feature entwickeln, während die vorherige Version aktiv ist, sollten die Entwicklungstelemetriedaten an eine separate Application Insights-Ressource gesendet werden.If you are developing custom events for your next feature while the previous version is live, you want to send the development telemetry to a separate Application Insights resource. Andernfalls ist es schwierig, die Testtelemetriedaten im gesamten Datenverkehr von der Livewebsite zu finden.Otherwise, it can be hard to find your test telemetry among all the traffic from the live site.

Um dies zu vermeiden, erstellen Sie separate Ressourcen für jede Buildkonfiguration oder jeden „Stempel“ (Entwicklung, Test, Produktion usw.) des Systems.To avoid this situation, create separate resources for each build configuration or "stamp" (development, test, production, and so on) of your system. Legen Sie die Ressourcen für jede Buildkonfiguration jeweils in einer separaten Ressourcengruppe ab.Put the resources for each build configuration in a separate resource group.

Um die Telemetriedaten an die entsprechenden Ressourcen zu senden, können Sie das Application Insights SDK so einrichten, dass abhängig von der Buildkonfiguration jeweils ein anderer Instrumentierungsschlüssel abgerufen wird.To send the telemetry to the appropriate resources, you can set up the Application Insights SDK so that it picks up a different instrumentation key, depending on the build configuration.

Erstellen einer Application Insights-Ressource für die einzelnen RollenCreate an Application Insights resource for each role

Wenn Sie eine separate Ressource für die einzelnen Rollen und eventuell eine separate Gruppe für die einzelnen Buildkonfigurationen erstellen möchten, ist es am einfachsten, diese im Application Insights-Portal zu erstellen.If you've decided to create a separate resource for each role, and perhaps a separate set for each build configuration, it's easiest to create them all in the Application Insights portal. Wenn Sie häufig Ressourcen erstellen, können Sie den Prozess automatisieren.If you create resources a lot, you can automate the process.

  1. Wählen Sie im Azure-Portal Neu > Entwicklerdienste > Application Insights aus.In the Azure portal, select New > Developer Services > Application Insights.

    Bereich „Application Insights“

  2. Wählen Sie in der Dropdownliste Anwendungstyp die Option ASP.NET-Webanwendung aus.In the Application Type drop-down list, select ASP.NET web application.

Jede Ressource wird durch einen Instrumentierungsschlüssel identifiziert.Each resource is identified by an instrumentation key. Möglicherweise benötigen Sie diesen Schlüssel später, wenn Sie die Konfiguration des SDK manuell konfigurieren oder überprüfen möchten.You might need this key later if you want to manually configure or verify the configuration of the SDK.

Einrichten von Azure-Diagnose für die einzelnen RollenSet up Azure Diagnostics for each role

Legen Sie diese Option zum Überwachen Ihrer App mit Application Insights fest.Set this option to monitor your app with Application Insights. Für Webrollen umfasst diese Option die Leistungsüberwachung, Warnungen, Diagnose und die Verwendungsanalyse.For web roles, this option provides performance monitoring, alerts, diagnostics, and usage analysis. Für andere Rollen können Sie Azure-Diagnose durchsuchen und überwachen, z.B. Neustarten, Leistungsindikatoren und Aufrufe von „System.Diagnostics.Trace“.For other roles, you can search and monitor Azure Diagnostics such as restart, performance counters, and calls to System.Diagnostics.Trace.

  1. Öffnen Sie im Visual Studio-Projektmappen-Explorer unter <YourCloudService> > Rollen die Eigenschaften der einzelnen Rollen.In Visual Studio Solution Explorer, under <YourCloudService> > Roles, open the properties of each role.

  2. Aktivieren Sie unter Konfiguration das Kontrollkästchen Diagnosedaten an Application Insights senden, und wählen Sie dann die entsprechende Application Insights-Ressource aus, die Sie zuvor erstellt haben.In Configuration, select the Send diagnostics data to Application Insights check box, and then select the Application Insights resource that you created earlier.

Wenn Sie sich entschieden haben, eine separate Application Insights-Ressource für jede Buildkonfiguration zu verwenden, wählen Sie zuerst die Konfiguration aus.If you have decided to use a separate Application Insights resource for each build configuration, select the configuration first.

Application Insights konfigurieren

Dadurch werden die Application Insights-Instrumentierungsschlüssel in die Dateien mit dem Namen ServiceConfiguration.*.cscfg eingefügt.This has the effect of inserting your Application Insights instrumentation keys into the files named ServiceConfiguration.*.cscfg. Hier ist der Beispielcode.Here is the Sample code.

Wenn Sie festlegen möchten, welche Diagnosedaten an Application Insights gesendet werden, können Sie dies direkt durch Bearbeiten der CSCFG-Dateien erledigen.If you want to vary the level of diagnostics information that's sent to Application Insights, you can do so by editing the .cscfg files directly.

Installieren des SDK in den einzelnen ProjektenInstall the SDK in each project

Mit dieser Option können Sie jeder Rolle benutzerdefinierte Geschäftstelemetriedaten hinzufügen.With this option, you can add custom business telemetry to any role. Die Option bietet eine genauere Analyse der Nutzung und Leistung Ihrer App.The option provides a closer analysis of how your app is used and performs.

Konfigurieren Sie in Visual Studio das Application Insights SDK für jedes Cloud-App-Projekt.In Visual Studio, configure the Application Insights SDK for each cloud app project.

  1. Zum Konfigurieren von Webrollen klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Application Insights konfigurieren oder Hinzufügen > Application Insights-Telemetrie aus.To configure web roles, right-click the project, and then select Configure Application Insights or Add > Application Insights telemetry.

  2. So konfigurieren Sie Workerrollen:To configure worker roles:

    a.a. Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie dann NuGet-Pakete verwalten aus.Right-click the project, and then select Manage NuGet Packages.

    b.b. Fügen Sie Application Insights für Windows-Dienste hinzu.Add Application Insights for Windows Servers.

    Suchen Sie nach "Application Insights".

  3. So konfigurieren Sie das SDK zum Senden von Daten an die Application Insights-Ressource:To configure the SDK to send data to the Application Insights resource:

    a.a. Legen Sie in einer geeigneten Startfunktion den Instrumentierungsschlüssel aus der Konfigurationseinstellung in der CSCFG-Datei fest:In a suitable startup function, set the instrumentation key from the configuration setting in the .cscfg file:

    
     TelemetryConfiguration.Active.InstrumentationKey = RoleEnvironment.GetConfigurationSettingValue("APPINSIGHTS_INSTRUMENTATIONKEY");
    

    b.b. Wiederholen Sie „Schritt a“ für jede Rolle in Ihrer App.Repeat "step a" for each role in your app. Beispiele:See the examples:

  4. Legen Sie für die Datei ApplicationInsights.config fest, dass sie immer in das Ausgabeverzeichnis kopiert wird.Set the ApplicationInsights.config file to be copied always to the output directory.

    Sie werden über eine Meldung in der CONFIG-Datei aufgefordert, den Instrumentationsschlüssel hier zu platzieren.A message in the .config file asks you to place the instrumentation key there. Für Cloud-Apps ist es jedoch besser, ihn aus der CSCFG festzulegen.However, for cloud apps, it's better to set it from the .cscfg file. Dadurch wird sichergestellt, dass die Rolle im Portal korrekt identifiziert wird.This approach ensures that the role is correctly identified in the portal.

Einrichten des Statusmonitors zum Sammeln von vollständigen SQL-Abfragen (optional)Set up Status Monitor to collect full SQL Queries (optional)

Dieser Schritt ist nur erforderlich, wenn Sie vollständige SQL-Abfragen für .NET Framework erfassen möchten.This step is only needed if you want to capture full SQL queries on .NET Framework.

  1. Fügen Sie in der \*.csdef-Datei die Startaufgabe für jede Rolle hinzu, die Folgendem ähnelt:In \*.csdef file Add startup task for each role similar to

    <Startup>
      <Task commandLine="AppInsightsAgent\InstallAgent.bat" executionContext="elevated" taskType="simple">
        <Environment>
          <Variable name="ApplicationInsightsAgent.DownloadLink" value="http://go.microsoft.com/fwlink/?LinkID=522371" />
          <Variable name="RoleEnvironment.IsEmulated">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
          </Variable>
        </Environment>
      </Task>
    </Startup>
    
  2. Laden Sie InstallAgent.bat und InstallAgent.ps1 herunter, und fügen Sie sie dem AppInsightsAgent-Ordner für jedes Rollenprojekt hinzu.Download InstallAgent.bat and InstallAgent.ps1, put them into the AppInsightsAgent folder on each role project. Stellen Sie sicher, dass Sie sie über Visual Studio-Dateieigenschaften oder Buildskripts in das Ausgabeverzeichnis kopieren.Make sure to copy them to the output directory through Visual Studio file properties or build scripts.

  3. Fügen Sie für alle Workerrollen Umgebungsvariablen hinzu:On all Worker Roles, add environment variables:

      <Environment>
        <Variable name="COR_ENABLE_PROFILING" value="1" />
        <Variable name="COR_PROFILER" value="{324F817A-7420-4E6D-B3C1-143FBED6D855}" />
        <Variable name="MicrosoftInstrumentationEngine_Host" value="{CA487940-57D2-10BF-11B2-A3AD5A13CBC0}" />
      </Environment>
    

Ausführen und Veröffentlichen der AppRun and publish the app

  1. Führen Sie Ihre App aus, und melden Sie sich bei Azure an.Run your app, and sign in to Azure.

  2. Öffnen Sie die zuvor erstellten Application Insights-Ressourcen.Open the Application Insights resources that you created.

    Einzelne Datenpunkte werden in Suche angezeigt, und aggregierte Daten werden im Metrik-Explorer angezeigt.Individual data points are displayed in Search, and aggregated data is displayed in Metric Explorer.

  3. Fügen Sie weitere Telemetriedaten hinzu (siehe folgende Abschnitte), und veröffentlichen Sie dann Ihre App, um Livediagnosen und Nutzungsfeedback zu erhalten.Add more telemetry (see the next sections) and then publish your app to get live diagnostics and usage feedback.

Wenn keine Daten vorhanden sind, gehen Sie folgendermaßen vor:If there is no data, do the following:

  1. Zum Anzeigen einzelner Ereignisse öffnen Sie die Kachel Suche.To view individual events, open the Search tile.
  2. Öffnen Sie in der App verschiedene Seiten, damit sie einige Telemetriedaten generiert.In the app, open various pages so that it generates some telemetry.
  3. Warten Sie einige Sekunden, und klicken Sie dann auf Aktualisieren.Wait a few seconds, and then click Refresh.

Weitere Informationen finden Sie unter Problembehandlung.For more information, see Troubleshooting.

Anzeigen von Azure-DiagnoseereignissenView Azure Diagnostics events

Sie finden Sie Informationen der Azure-Diagnose in Application Insights an den folgenden Speicherorten:You can find the Azure Diagnostics information in Application Insights in the following locations:

  • Leistungsindikatoren werden als benutzerdefinierte Metriken angezeigt.Performance counters are displayed as custom metrics.
  • Windows-Ereignisprotokolle werden als Ablaufverfolgungen und benutzerdefinierte Ereignisse angezeigt.Windows event logs are shown as traces and custom events.
  • Anwendungsprotokolle, ETW-Protokolle und alle Diagnoseinfrastrukturprotokolle werden als Ablaufverfolgungen angezeigt.Application logs, ETW logs, and any diagnostics infrastructure logs appear as traces.

Zum Anzeigen von Leistungsindikatoren und Angaben zur Anzahl von Ereignissen öffnen Sie den Metrik-Explorer und fügen das folgende Diagramm hinzu:To view performance counters and counts of events, open Metrics Explorer and add the following chart:

Azure-Diagnosedaten

Verwenden Sie zum Durchsuchen der verschiedenen Ablaufverfolgungsprotokolle, die von der Azure-Diagnose gesendet werden, die Suche oder eine Analytics-Abfrage.To search across the various trace logs that are sent by Azure Diagnostics, use Search or an Analytics query. Angenommen, es liegt eine nicht behandelte Ausnahme vor, die das Abstürzen und erneute Aktivieren einer Rolle verursacht hat.For example, suppose you have an unhandled exception that has caused a role to crash and recycle. Diese Informationen werden im Kanal „Anwendung“ des Windows-Ereignisprotokolls angezeigt.That information would show up in the Application channel of Windows Event Log. Sie können das Windows-Ereignisprotokoll mithilfe der Suchfunktion anzeigen und die vollständige Stapelüberwachung für die Ausnahme abrufen.You can use Search to view the Windows Event Log error and get the full stack trace for the exception. So können Sie die Ursache des Problems ermitteln.Doing so helps you find the root cause of the issue.

Durchsuchen der Azure-Diagnosedaten

Mehr TelemetrieMore telemetry

In den folgenden Abschnitten wird erläutert, wie Sie weitere Telemetriedaten zu verschiedenen Aspekten Ihrer Anwendung abrufen.The next sections discuss how to get additional telemetry from various aspects of your app.

Nachverfolgen von Anforderungen bei WorkerrollenTrack requests from worker roles

In Webrollen sammelt das Modul für Anforderungen automatisch Daten zu HTTP-Anforderungen.In web roles, the requests module automatically collects data about HTTP requests. Beispiele zum Überschreiben des Standardsammelverhaltens finden Sie im MVCWebRole-Beispiel.For examples of how you can override the default collection behavior, see the sample MVCWebRole.

Sie können die Leistung der Aufrufe von Workerrollen erfassen, indem Sie diese auf die gleiche Weise wie HTTP-Anforderungen nachverfolgen.You can capture the performance of calls to worker roles by tracking them in the same way as HTTP requests. In Application Insights misst der Telemetrietyp „Anforderungen“ eine Arbeitseinheit auf dem benannten Server, die zeitlich bestimmt werden und unabhängig erfolgreich sein oder einen Fehler verursachen kann.In Application Insights, the Request telemetry type measures a unit of named server-side work that can be timed and can independently succeed or fail. HTTP-Anforderungen werden zwar durch das SDK automatisch erfasst, Sie können jedoch Ihren eigenen Code zum Nachverfolgen von Anforderungen an Workerrollen einfügen.Although HTTP requests are captured automatically by the SDK, you can insert your own code to track requests to worker roles.

Siehe dazu die zwei Beispielworkerrollen, die zum Melden von Anforderungen instrumentiert sind:See the two sample worker roles instrumented to report requests:

AusnahmenExceptions

Informationen zum Sammeln von Ausnahmefehlern aus verschiedenen Web-App-Typen finden Sie unter Diagnostizieren von Ausnahmen in Ihren Web-Apps mit Application Insights.For information about how to collect unhandled exceptions from various web app types, see Monitoring exceptions in Application Insights.

Die Beispielwebrolle verfügt über MVC5- und Web-API 2-Controller.The sample web role has MVC5 and Web API 2 controllers. Die nicht behandelten Ausnahmen von beiden werden mit den folgenden Handlern erfasst:The unhandled exceptions from the two are captured with the following handlers:

Für Workerrollen gibt es zwei Möglichkeiten zum Nachverfolgen von Ausnahmen:For worker roles, you can track exceptions in two ways:

  • Verwenden Sie TrackException(ex).Use TrackException(ex).
  • Wenn Sie das NuGet-Paket für Application Insights-Ablaufverfolgungslistener hinzugefügt haben, können Sie Ausnahmen mithilfe von „System.Diagnostics.Trace“ wie in diesem Beispiel gezeigt protokollieren.If you have added the Application Insights trace listener NuGet package, you can use System.Diagnostics.Trace to log exceptions as shown in this example.

LeistungsindikatorenPerformance counters

Die folgenden Leistungsindikatoren werden standardmäßig erfasst:The following counters are collected by default:

  • \Process(??APP_WIN32_PROC??)% Prozessorzeit\Process(??APP_WIN32_PROC??)% Processor Time
  • \Memory\Verfügbare Bytes\Memory\Available Bytes
  • .NET CLR Exceptions(??APP_CLR_PROC??)# of Exceps Thrown / sec.NET CLR Exceptions(??APP_CLR_PROC??)# of Exceps Thrown / sec
  • \Process(??APP_WIN32_PROC??)\Private Bytes\Process(??APP_WIN32_PROC??)\Private Bytes
  • \Process(??APP_WIN32_PROC??)\IO Data Bytes/sec\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec
  • \Processor(_Total)%Prozessorzeit\Processor(_Total)% Processor Time

Für Webrollen werden auch diese Leistungsindikatoren erfasst:For web roles, these counters are also collected:

  • \ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec
  • \ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time
  • \ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue

Sie können zusätzliche benutzerdefinierte oder andere Windows-Leistungsindikatoren angeben, indem Sie die Datei ApplicationInsights.config wie in diesem Beispiel gezeigt bearbeiten.You can specify additional custom or other Windows performance counters by editing ApplicationInsights.config as shown in this example.

Leistungsindikatoren

Korrelierte Telemetriedaten für WorkerrollenCorrelated telemetry for worker roles

Für eine umfassende Diagnose können Sie die Ursachen für Anforderungen mit Fehlern oder hoher Latenz anzeigen.For a rich diagnostics experience, you can view what led to a failed or high latency request. Bei Webrollen richtet das SDK automatisch eine Korrelation zwischen verknüpften Telemetriedaten ein.With web roles, the SDK automatically sets up a correlation between related telemetry.

Für Workerrollen können Sie zu diesem Zweck mithilfe eines benutzerdefinierten Telemetrieinitialisierers ein allgemeines Operation.Id-Kontextattribut für alle Telemetriedaten festlegen.To achieve this view for worker roles, you can use a custom telemetry initializer to set a common Operation.Id context attribute for all the telemetry. Dadurch können Sie auf einen Blick sehen, ob die Latenz oder der Fehler durch eine Abhängigkeit oder durch Ihren Code verursacht wurde.Doing so lets you view at a glance whether the latency or failure issue was caused by a dependency or your code.

Das geht so:Here's how:

  • Fügen Sie die Korrelations-ID wie in diesem Beispiel gezeigt in einen CallContext ein.Set the correlationId into a CallContext as shown in this example. In diesem Fall wird die Anforderungs-ID als correlationId-Element verwendet.In this case, we are using the Request ID as the correlationId.
  • Fügen Sie eine benutzerdefinierte TelemetryInitializer-Implementierung hinzu, die das Attribut „Operation.Id“ auf das zuvor festgelegte correlationId-Element festlegt.Add a custom TelemetryInitializer implementation, to set the Operation.Id to the correlationId that was set previously. Ein Beispiel finden Sie unter ItemCorrelationTelemetryInitializer.For an example, see ItemCorrelationTelemetryInitializer.
  • Fügen Sie den benutzerdefinierten Telemetrieinitialisierer hinzu.Add the custom telemetry initializer. Sie können dies in der Datei ApplicationInsights.config oder wie in diesem Beispiel gezeigt im Code vornehmen.You could do so in the ApplicationInsights.config file or in code as shown in this example.

ClienttelemetrieClient telemetry

Informationen zum Abrufen von browserbasierten Telemetriedaten wie Anzahl der Seitenaufrufe, Seitenladezeiten oder Skriptausnahmen sowie zum Schreiben von benutzerdefinierten Telemetriedaten in Ihre Seitenskripts finden Sie unter Application Insights für Webseiten.To get browser-based telemetry, such as page view counts, page load times, or script exceptions, and to write custom telemetry in your page scripts, see Add the JavaScript SDK to your webpages.

VerfügbarkeitstestsAvailability tests

Richten Sie Webtests ein, um sicherzustellen, dass die App online und reaktionsfähig bleibt.To make sure your app stays live and responsive, Set up web tests.

Anzeigen aller DatenDisplay everything together

Für eine allgemeine Übersicht über Ihr System können Sie die wichtigsten Überwachungsdiagramme in einem Dashboard anzeigen.For an overall picture of your system, you can display the key monitoring charts together on one dashboard. Beispielsweise können Sie die Anforderungs- und Fehleranzahl der einzelnen Rollen anheften.For example, you could pin the request and failure counts of each role.

Wenn in Ihrem System andere Azure-Dienste, z.B. Stream Analytics, verwendet werden, können Sie die entsprechenden Überwachungsdiagramme auch einfügen.If your system uses other Azure services, such as Stream Analytics, include their monitoring charts as well.

Wenn Sie über eine mobile Client-App verfügen, verwenden Sie App Center.If you have a client mobile app, use App Center. Erstellen Sie Abfragen in Analytics, um die Ereigniszähler anzuzeigen, und heften Sie sie an das Dashboard an.Create queries in Analytics to display the event counts, and pin them to the dashboard.

BeispielExample

In diesem Beispiel wird ein Dienst mit einer Webrolle und zwei Workerrollen überwacht.The example monitors a service that has a web role and two worker roles.

Ausnahme „Methode nicht gefunden“ bei der Ausführung in Azure Cloud ServicesException "method not found" on running in Azure cloud services

Haben Sie für .NET 4.6 erstellt?Did you build for .NET 4.6? .NET 4.6 wird in Azure Cloud Services-Rollen nicht automatisch unterstützt..NET 4.6 is not automatically supported in Azure cloud services roles. Installieren Sie .NET 4.6 für jede Rolle, bevor Sie Ihre App ausführen.Install .NET 4.6 on each role before running your app.

VideoVideo

Nächste SchritteNext steps