Freigeben über


Verlaufsüberwachung mithilfe von WCF-Aufrufmetriken

Der Abschnitt WCF-Aufrufverlauf zeigt Verlaufsmetriken für WCF-Aufrufe an, die bei .NET Framework 4 WCF- und WF-Diensten eingehen, die von AppFabric verwaltet werden. Die Zusammenfassungsmetriken Abgeschlossen und Fehler bieten einen kumulativen Gesamtwert von erfolgreichen und fehlgeschlagenen Vorgängen als Ergebnisse empfangener WCF-Aufrufe. Sie können den Abschnitt WCF-Aufrufverlauf erweitern (indem Sie auf den Abwärtspfeil oder an eine beliebige Stelle in der WCF-Aufrufverlauf-Titelleiste, mit Ausnahme der Links der Zusammenfassungsmetriken klicken), um die Top 5-Dienste mit Abgeschlossene Aufrufe oder Dienstausnahmen anzuzeigen. Diese Aktion zeigt ebenfalls die Anzahl der FehlerNach gemeinsamen Typen gruppiert an. Mithilfe dieser Zusammenfassungswerte der obersten Ebene sowie der daraus abgeleiteten, korrelierten Detailansichten können Sie den Verlauf von WCF-Aufrufen für Ihre Dienste überwachen.

„WCF-Aufrufverlauf“-Metriken

Der Abschnitt WCF-Aufrufverlauf im AppFabric-Dashboard bietet eine Zusammenfassungsansicht der WCF-Dienstaufrufe in dem schattierten Kopfzeilenfeld, wo sich der Titel WCF-Aufrufverlauf befindet. Die folgenden Metriken vermitteln Ihnen eine schnelle und grobe Übersicht der WCF-Aufrufe, die erfolgreich bzw. nicht erfolgreich abgeschlossen wurden:

  • Die Zusammenfassungsmetrik Abgeschlossen ist ein kumulativer Gesamtwert der empfangenen WCF-Aufrufe, die abgeschlossen wurden, ohne einen Fehler oder eine Ausnahme zu generieren, und so den WCF-Ereignistyp OperationCompleted erzeugen.

  • Die Zusammenfassungsmetrik Fehler ist ein kumulativer Gesamtwert, der alle WCF-bezogenen Ausnahmen und benutzerdefinierten Fehler darstellt, die im gesamten WCF-Stapel auftreten. Dieser Zähler umfasst, ist aber nicht eingeschränkt auf Fehler, die aus der Anzahl von Aufruffehlern und ungültigen Aufrufen resultieren.

  • Die Metrik Drosselungstreffer bietet einen Zähler für die Anzahl der WCF-Drosselungsperioden, denen die innerhalb des Webanwendungs-Gültigkeitsbereichs bereitgestellten Dienste unterzogen wurden. Eine einzelne Drosselungsperiode beginnt, sobald ein WCF-Drosselungsschwellenwert überschritten wird. Sie endet, wenn der Durchsatz wieder unter 70 % des Drosselungsschwellenwerts fällt.

Unterhalb der Zusammenfassungsmetriken befinden sich die folgenden Dienstmetriken, von denen die Anzahl der Dienste innerhalb bestimmter Aufrufkategorien in absteigender Reihenfolge zusammengefasst werden:

  • Abgeschlossene Aufrufe – Nach Dienst gruppiert (Top 5) – Die fünf Dienste mit der größten Gesamtzahl von abgeschlossenen WCF-Aufrufen innerhalb des angegebenen Zeitraums.

  • Dienstausnahmen – Nach Dienst gruppiert (Top 5) – Die fünf Dienste mit der größten Gesamtzahl von Ausnahmen innerhalb des angegebenen Zeitraums.

  • Fehler – Nach gemeinsamen Typen gruppiert – Gruppierung der Gesamtzahl von Dienstausnahmen oder benutzerdefinierten Fehlern. Der Dienstausnahmenzähler wird noch weiter auf zwei der häufigsten Ursachen aufgeschlüsselt: Aufruffehler und ungültige Aufrufe. Dienstausnahmen können auch von anderen Problemen als Aufruffehlern oder ungültigen Aufrufen verursacht werden, z. B. von Aktivierungsfehlern.

Nicht alle erfassten WCF-Ereignisse werden in den Spalten Abgeschlossene Aufrufe – Nach Dienst gruppiert (Top 5) oder Dienstausnahmen – Nach Dienst gruppiert (Top 5) im Dashboard erfasst. Ereignisse, die in diesen „Top 5“-Spalten angezeigt werden, umfassen keine, die vom internen AppFabric-Dienst ausgegeben wurden, von dem Endpunkte und Ereignisse verwaltet werden. Nur Ereignisse, die über einen vollständigen virtuellen Dienstpfad verfügen, werden in diesen zwei Spalten angezeigt. Ereignisse, die höher im WCF-Kanalstapel generiert werden, wie Rückrufe oder Dienstausnahmen, enthalten keinen vollständigen virtuellen Dienstpfad. Ereignisse, die keinen vollständigen virtuellen Dienstpfad enthalten, sind von diesen Zählern ausgeschlossen. Auf diese Weise ist sichergestellt, dass nur Benutzerdienste und keine Benutzeranwendungen in diesen Zählerwerten vorkommen.

„Nachverfolgte Ereignisse“ (Seite)

Mithilfe der Seite Nachverfolgte Ereignisse können Sie eine Verlaufsansicht der Ereignisse abrufen, die während einer bestimmten Abfolge von WCF-Aufrufen für eine Dienstinstanz eingetreten sind. Wenn Sie auf eine Zusammenfassungsmetrik (z. B. Abgeschlossen) oder auf einen der Dienstlinks unter einer Spalte im Abschnitt WCF-Aufrufverlauf (z. B. unter der Spalte Abgeschlossene Aufrufe) klicken, gelangen Sie auf die Seite Nachverfolgte Ereignisse.

„Nachverfolgte Ereignisse“ (Seite)

Der Link, auf den Sie klicken, um von der Seite AppFabric-Dashboard auf die Seite Nachverfolgte Ereignisse zu navigieren, wird zum Filtern der WCF-Aufruf- und -Ereignisdaten verwendet, sodass die Aufzählung auf der Seite Nachverfolgte Ereignisse für diesen Ursprungslink spezifisch ist. Wenn Sie z. B. unter der Spalte DienstausnahmenNach Dienst gruppiert (Top 5) auf einen Diensteintragslink klicken, gelangen Sie zur Seite Nachverfolgte Ereignisse. Dort werden nach dem Dienstereignistyp gefilterte (in diesem Fall WCF-Ausnahmen) Ereignisse aufgezählt sowie die Ausgabezeit die der Metrik und dem Zeitraum entspricht, die im AppFabric-Dashboard ausgewählt wurden.

Sie können aber den Wert eines oder mehrerer Felder (z. B. Ereignisse) innerhalb des Frames Abfragezusammenfassung ändern, um die anfängliche Ausgabe zu verändern und eine weitergehende Problembehandlung für einen bestimmten Ereignistyp auszuführen. Wenn beispielsweise die ursprüngliche Metrik, mit der Sie auf die Seite Nachverfolgte Ereignisse gelangt sind, WCF-Ausnahmen war, können Sie den Wert des Felds Ereignisse in Alle WCF-Ereignisse ändern und dann auf Abfrage ausführen klicken, um andere Ergebnisse anzuzeigen.

Mithilfe der folgenden Optionen können Sie den Typ der Ereignisse filtern, die angezeigt werden:

  • Alle WCF-Ereignisse – Zeigt alle WCF-Ereignisse an, die im Überwachungsspeicher verfügbar sind, einschließlich, aber nicht eingeschränkt auf abgeschlossene WCF-Aufrufe, WCF-Ausnahmen, WCF-Aufruffehler und ungültige WCF-Aufrufe.

  • Abgeschossene WCF-Aufrufe – Zeigt alle abgeschlossenen WCF-Aufrufe an.

  • Alle WCF-Fehler – Zeigt alle auf der Stufe „Fehler“ ausgegebenen Ereignisse an: Dienstausnahme- und benutzerdefinierte Fehlerereignisse.

  • WCF-Ausnahmen – Zeigt alle WCF-Dienstausnahmen an.

  • Benutzerdefinierte WCF-Fehler – Zeigt alle benutzerdefinierten Ereignisse an, die auf der Stufe „Fehler“ ausgegeben werden.

  • WCF-Aufruffehler – Zeigt alle WCF-Aufruffehler an.

  • Ungültige WCF-Aufrufe – Zeigt alle ungültigen WCF-Aufrufe an.

  • WCF-Drosselungstreffer – Zeigt alle WCF-Drosselungsereignisse an. Jedes Ereignis stellt eine Drosselungsperiode dar und wird ausgegeben, wenn ein WCF-Drosselungsschwellenwert zum ersten Mal überschritten wird.

  • Alle WF-Ereignisse – Zeigt alle WF-Ereignisse an.

Weitere Informationen finden Sie unter Erfasste Ereignisse (Seite).

Problembehandlung durch Überwachen der Metrik „WCF-Aufrufverlauf“

Aus den vorangehenden Informationen können Sie einen Problembehandlungsansatz ableiten, indem Sie den Abschnitt WCF-Aufrufverlauf zur Überwachung von WCF-Aufrufen an .NET Framework-Dienste verwenden. Bei anfänglicher Anzeige des Abschnitts WCF-Aufrufverlauf erhalten Sie eine weniger detaillierte Zusammenfassungsansicht des Status von WCF-Aufrufen. Anhand aufgetretener Ausnahmen bzw. Aufruffehler oder ungültiger Aufrufe können Sie schnell erkennen, ob ein Problem auf der WCF-Aufrufebene vorliegt. Wenn eine der Zusammenfassungsmetriken DienstausnahmenNach Dienst gruppiert (Top 5) oder FehlerNach gemeinsamen Typen gruppiert einen Wert ungleich Null enthält, weist dies darauf hin, an welcher Stelle möglicherweise ein Problem aufgetreten ist. Alle Zusammenfassungsmetriken sind mit der Seite Nachverfolgte Ereignisse verknüpft, auf der Sie ausdrücklich detaillierte Metriken für WCF-Aufrufdaten anzeigen können, die auf der anfänglichen Seite des AppFabric-Dashboard auf einer höheren Ebene zusammengefasst wurden. Diese ungefilterten Rohdaten liefern Ihnen zusätzliche Informationen, um ein Problem im Zusammenhang mit WCF-Aufrufen einzugrenzen.

Angenommen, Sie verwenden den Abschnitt WCF-Aufrufverlauf zur Überwachung von WCF-Aufrufen der WCF- bzw. WF-Dienste auf Probleme innerhalb eines vorgegebenen Gültigkeitsbereichs. Wird in der Zusammenfassungsmetrik für Ausnahmen ein Wert ungleich Null angezeigt, können Sie durch Erweitern des Widgets eine Aufschlüsselung der Ausnahmen für die Top 5-Dienste anzeigen. Dies ermöglicht es Ihnen, sich auf die Dienste zu konzentrieren, die die höchste Anzahl potenzieller Probleme aufweisen. Sie können dann einen bestimmten problematischen Dienst auswählen und Details angeben, indem Sie zur Aufzählungsseite wechseln und die Abfragewerte ändern.

Angenommen, die Zusammenfassungskopfzeile Fehler im Widget WCF-Aufrufverlauf weist einen Wert ungleich Null auf, der so anzeigt, dass einige Fehler aufgetreten sind. Nun können Sie das Widget WCF-Aufrufverlauf erweitern und in der Spalte DienstausnahmenNach Dienst gruppiert (Top 5) nachsehen, um die Top 5-Dienste anzuzeigen, bei denen die Ausnahmen innerhalb des ausgewählten Zeitraums aufgetreten sind. Sie können außerdem in der Spalte FehlerNach gemeinsamen Typen gruppiert eine Aufschlüsselung der Fehlertypen anzeigen: Dienstausnahmen (meistens verursacht durch Aufruffehler oder ungültige Aufrufe) und benutzerdefinierte Fehler. Wenn Sie weitere Details zu den Fehlern bzw. Ausnahmen abrufen möchten, können Sie auf einen der Dienstlinks klicken, um auf die Seite Nachverfolgte Ereignisse zu gelangen.

Hinweis

Wenn der Dienst X einer der Top 5-Dienste ist, wird er hier angezeigt. In diesem Fall können Sie auf den dazugehörigen Dienstlink klicken, um zur Seite Nachverfolgte Ereignisse zu gelangen. Wenn Dienst X nicht unter den Top 5-Diensten ist, können Sie auf eine der Metriken innerhalb des Abschnitts klicken, um zur Seite Nachverfolgte Ereignisse zu wechseln. Auf dieser Seite können Sie die vorhandene Abfrage entsprechend ändern (d. h. die geeignete Dienstnamenbedingung hinzufügen).

Die Seite Nachverfolgte Ereignisse wird mit einer Verlaufsansicht der Ausnahmen aufgefüllt die in einem bestimmten Bereich in der IIS-Hierarchie „X“ aufgetreten sind. Sie können auf eins der WCF-Ausnahmeereignisse in der Liste (auf der Seite Nachverfolgte WF-Instanzen) klicken, um Einzelheiten der betreffenden Ausnahme im Detailbereich unten auf der Seite anzuzeigen. Innerhalb des Bereichs Details können Sie Informationen zu der Ausnahme auf den Registerkarten Übersicht, Nachverfolgte Variablen und Fehler anzeigen. Die Registerkarte Übersicht enthält allgemeine Informationen zu dem Ereignis, wie z. B. E2EActivityID (wird für die Korrelation bei der End-to-End-Nachverfolgung verwendet), EventType, ExceptionTypeName, EventSourceId und andere ereignisbezogene Informationen. Auf der Registerkarte Nachverfolgte Variablen werden die Werte aller ausdrücklich nachverfolgten Variablen angezeigt, die im Ereignis gespeichert sind. Die Registerkarte Fehler bietet Ihnen, falls verfügbar, Ausnahmeinformationen zum Fehler. Diese Informationen können Ihnen das Verständnis und die Problembehandlung von WCF-Ausnahmen erleichtern.

Wenn Sie zusätzlichen Kontext zu der WCF-Ausnahme benötigen, können Sie in der Liste mit der rechten Maustaste auf das Ereignis und dann auf Nachverfolgte WF-Instanz anzeigen klicken. Diese Funktionalität ist nur für von Workflowdiensten ausgegebene WCF-Dienstausnahmen verfügbar, wobei auf der Seite Nachverfolgte WF-Instanzen alle verfügbaren Ereignisse für die übergeordnete Instanz angezeigt werden. Sie können im Kontextmenü eines WCF-Aufrufs auch den Eintrag Alle zugehörigen Ereignisse anzeigen auswählen. Hierdurch wird die Seite Nachverfolgte Ereignisse aktualisiert und mit allen Ereignissen aufgefüllt, die sich auf das anfängliche Ereignis beziehen.

Hinweis

Damit die Option Alle zugehörigen Ereignisse anzeigen verwendet werden kann, muss die Überwachungsstufe für die Webanwendung auf End-to-End-Überwachung oder höher festgelegt sein. Diese Stufe weist die Überwachungsinfrastruktur an, Übertragungsereignisse zu erfassen, die eine End-to-End-Aktivitäts-ID (E2EActivityId) einer anderen zuordnen.

Alternativ können Sie auch in der Spalte DienstausnahmenNach Dienst gruppiert (Top 5) die Anzahl für Aufruffehler bzw. Ungültige Aufrufe anzeigen. Die Gesamtzahl von Aufruffehler oder Ungültige Aufrufe trägt zur Gesamtzahl der WCF-Ausnahmen bei, wie im Bereich „Abschnittszusammenfassung“ dargestellt. Durch Klicken auf die Verknüpfung eins dieser Einträge gelangen Sie ebenfalls zur Seite Nachverfolgte Ereignisse. In Abhängigkeit von dem Link, auf den Sie geklickt haben, wird eine Aufzählung von Ereignissen für WCF-Aufruffehler bzw. Ungültige WCF-Aufrufe angezeigt. Wie oben beschrieben wurde, werden weitere Informationen im Bereich Details angezeigt, wenn Sie eins der Aufrufereignisse in der Aufzählung auswählen. Sie können auch mit der rechten Maustaste klicken und dann die Option Alle zugehörigen Ereignisse anzeigen oder Nachverfolgte WF-Instanz anzeigen auswählen, falls zutreffend.

Informationen zum Abrufen spezifischer Informationen zu einem erfassten Ereignis, um ein Problem zu beheben, finden Sie unter Erfasste Ereignisse (Seite).

Anzeigen von WCF-Fehlerinformationen

AppFabric zeigt WCF-basierte Fehlerinformationen nur an, wenn die Überwachungsstufe einer Webanwendung mindestens auf die Stufe End-to-End-Überwachung konfiguriert ist. Auf dieser Stufe werden die WCF-Nachrichtenübermittlung zwischen Diensten sowie die Beziehungen zwischen WF- und WCF-Ereignissen erfasst. Bei Überwachungsstufen von höchstens Systemüberwachung werden in folgenden Abschnitten keine WCF-basierten Fehlerinformationen angezeigt:

  • In den Spalten Fehler bzw. Dienstausnahmen auf der Seite AppFabric-Dashboard im Abschnitt WCF-Aufrufverlauf.

  • Auf der Registerkarte Fehler auf der Seite Nachverfolgte Ereignisse im Bereich Details.

  • In allen Abschnitten auf der Seite Nachverfolgte Ereignisse, in denen WCF-Ereignisse als Ergebnis von Abfragekriterien angezeigt werden.

Beispielsweise verwendet die Registerkarte Fehler auf der Seite Nachverfolgte Ereignisse WCF-Übertragungsereignisse, um Ausnahmeinformationen aus dem Ausnahmeereignis des Dienstmodells zu sammeln, das einem WCF-Aufruffehlerereignis oder einem ungültigen WCF-Aufrufereignis entspricht. Wenn die überwachte Webanwendung für die Verwendung einer niedrigeren Überwachungsstufe als End-to-End konfiguriert ist, werden die WCF-Übertragungsereignisse nicht erfasst. Dies führt dazu, dass im Bereich Details auf der Registerkarte Fehler keine Werte angezeigt werden.

Wenn Sie die Überwachungsstufe End-to-End verwenden, um Übertragungsereignisse zu erfassen, dabei aber keine zusätzlichen WF-Ereignisse erfasst werden sollen, können Sie dieses Verhalten mithilfe der folgenden Schritte sicherstellen:

  1. Öffnen Sie die Serverkonfigurationsdatei im Stammverzeichnis unter C:\Windows\Microsoft.NET\Framework(64)\v4.0.xxx\CONFIG\Web.config.

  2. Kopieren Sie den gesamten Code, der zwischen den Einträgen <trackingProfile name="HealthMonitoring Tracking Profile"> und </trackingProfile> steht, einschließlich dieser Einträge in die Zwischenablage. Ein Beispiel für den zu kopierenden Inhalt sieht wie folgt aus.

    <trackingProfile name="HealthMonitoring Tracking Profile">
       <workflow activityDefinitionId="*">
    <workflowInstanceQueries>
    <workflowInstanceQuery>
       <states>
    <state name="Started" />
    <state name="Completed" />
    <state name="Terminated" />
    <state name="Canceled" />
    <state name="Unsuspended" />
    <state name="Persisted" />
    <state name="Aborted" />
    <state name="UnhandledException" />
       </states>
    </workflowInstanceQuery>
    </workflowInstanceQueries>
    
    <activityStateQueries>
    <activityStateQuery activityName="*">
    <states>
    <state name="Closed" />
    </states>
    </activityStateQuery>
    </activityStateQueries>
    
    <faultPropagationQueries>
       <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
    </faultPropagationQueries>
    
    <customTrackingQueries>
    <customTrackingQuery name="*" activityName="*" />
    </customTrackingQueries>
    </workflow>
    </trackingProfile>
    
  3. Bearbeiten Sie die Datei Web.config der Webanwendung. Stellen Sie sicher, dass eine vollständige und gültige Elementschachtelung von <system.serviceModel><tracking><profiles><trackingProfile> vorhanden ist, in die der Inhalt des <trackingProfile>-Elements in den folgenden Schritten eingefügt wird.

  4. Fügen Sie am Anfang des Abschnitts <system.serviceModel><tracking><profiles> den Eintrag <remove name=”EndToEndMonitoring Tracking Profile” /> hinzu.

  5. Fügen Sie im selben Abschnitt, direkt unterhalb des gerade hinzugefügten remove-Tags, den Codeausschnitt ein, der in Schritt 2 in die Zwischenablage kopiert wurde.

  6. Ersetzen Sie in der Datei Web.config der Webanwendung den Text HealthMonitoring Tracking Profile durch EndToEndMonitoring Tracking Profile. Speichern Sie die Datei, und beenden Sie den Editor.

  7. Ändern Sie mithilfe des Schieberegler-Steuerelement im Dialogfeld WCF und WF für die Anwendung konfigurieren die Anwendungsüberwachungsstufe in End-To-End. AppFabric verwendet das lokale End-to-End-Nachverfolgungsprofil aus der Web.config-Datei der Anwendung, das lediglich eine Kopie des Nachverfolgungsprofils für die Stufe „Statusüberwachung“ darstellt, die als Profileintrag für die End-to-End-Nachverfolgung angezeigt wird.

Siehe auch

Verweis

Erfasste Ereignisse (Seite)

  2011-12-05