Training
Lernpfad
Lernpfad „Verbinden Ihrer Dienste“ - Training
Verwenden Sie Azure, um Website-Front-Ends, Back-End-Dienste und ausgelöste Compute-on-Demand-Funktionen zu erstellen, die auch miteinander kommunizieren können.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Diese Schrittanleitung enthält eine Übersicht über Azure Web PubSub-Ressourcenprotokolle und Tipps zur Verwendung der Protokolle zur Behandlung bestimmter Probleme. Protokolle können zur Problemidentifikation, Verbindungsverfolgung, Nachrichtenablaufverfolgung, HTTP-Anforderungsablaufverfolgung und Analyse verwendet werden.
Es stehen drei Arten von Ressourcenprotokollen zur Verfügung:
Das Tool für die Liveablaufverfolgung des Azure Web PubSub-Diensts kann Ressourcenprotokolle in Echtzeit erfassen, was für die Problembehandlung in Ihrer Entwicklungsumgebung hilfreich ist. Das Live-Ablaufverfolgungstool kann Verbindungsprotokolle, Messagingprotokolle und HTTP-Anforderungsprotokolle erfassen.
Bei Verwendung des Tools für die Liveablaufverfolgung sollten Sie die folgenden Faktoren berücksichtigen:
Wenn Sie einen Zugriffsschlüssel aktivieren, verwenden Sie ein Zugriffstoken zum Authentifizieren des Tools für die Liveablaufverfolgung. Andernfalls verwenden Sie Microsoft Entra ID zum Authentifizieren des Tool für die Liveablaufverfolgung. Sie können ermitteln, ob der Zugriffsschlüssel aktiviert ist, indem Sie im Azure-Portal zum Bereich Schlüssel in Ihrer Azure SignalR Service-Instanz wechseln.
Wechseln Sie zum Azure-Portal und zu Ihrem SignalR Service-Bereich.
Wählen Sie im Dienstmenü unter Überwachung die Option Einstellungen der Live-Ablaufverfolgung aus.
Wählen Sie Liveablaufverfolgung aktivieren aus.
Wählen Sie die Schaltfläche Speichern aus. Es dauert einen Moment, bis die Änderungen wirksam werden.
Wenn die Aktualisierung abgeschlossen ist, wählen Sie Tool für die Liveablaufverfolgung öffnen aus.
Wechseln Sie zum Azure-Portal und zu Ihrem SignalR Service-Bereich.
Wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie +Hinzufügen und dann Rollenzuweisung aus.
Wählen Sie die Registerkarte Rollen der Stellenfunktion aus, wählen Sie die Rolle SignalR Service-Besitzer aus, und wählen Sie dann Weiter aus.
Klicken Sie im Bereich Mitglieder auf +Mitglieder auswählen.
Suchen Sie nach Mitgliedern, wählen Sie sie aus, und klicken Sie dann auf Auswählen.
Wählen Sie Überprüfen und zuweisen aus, und warten Sie auf die Abschlussbenachrichtigung.
Wechseln Sie zum Azure-Portal und zu Ihrem SignalR Service-Bereich.
Wählen Sie im Dienstmenü unter Überwachung die Option Einstellungen der Live-Ablaufverfolgung aus.
Wählen Sie Liveablaufverfolgung aktivieren aus.
Wählen Sie die Schaltfläche Speichern aus. Es dauert einen Moment, bis die Änderungen wirksam werden.
Wenn die Aktualisierung abgeschlossen ist, wählen Sie Tool für die Liveablaufverfolgung öffnen aus.
Das Tool für die Liveablaufverfolgung öffnet ein Microsoft-Anmeldefenster. Wenn kein Fenster angezeigt wird, erlauben Sie Popupfenster in Ihren Browsereinstellungen.
Warten Sie, bis in der Statusleiste Bereit angezeigt wird.
Mit dem Tool zur Liveablaufverfolgung können Sie die Ressourcenprotokolle zur Problembehandlung erfassen.
Die vom Tool für die Liveablaufverfolgung aufgezeichneten Echtzeit-Ressourcenprotokolle enthalten ausführliche Informationen für die Problembehandlung.
Name | Beschreibung |
---|---|
Zeit | Protokollereigniszeit |
Protokollebene | Protokollereignisebene (Trace , Debug , Informational , Warning oder Error ) |
Name des Ereignisses | Vorgangsname des Ereignisses. |
Meldung | Detaillierte Nachricht für das Ereignis |
Exception | Laufzeitausnahme des Azure Web PubSub-Diensts |
Hub | Benutzerdefinierter Hubname |
Verbindungs-ID | Identität der Verbindung. |
Benutzer-ID | Benutzeridentität |
IP | Client-IP-Adresse |
Routenvorlage | Routenvorlage der API |
HTTP-Methode | HTTP-Methode (POST , GET , PUT oder DELETE ) |
URL | Uniform Resource Locator |
Ablaufverfolgungs-ID | Der eindeutige Bezeichner für den Aufruf |
Statuscode | HTTP-Antwortcode |
Dauer | Die Dauer zwischen Empfang und Verarbeitung der Anforderung |
Headers | Zusätzliche Informationen, die vom Client und vom Server mit einer HTTP-Anforderung oder -Antwort übergeben werden |
Derzeit unterstützt Azure Web PubSub die Integration in Azure Storage.
Öffnen Sie das Azure-Portal.
Wählen Sie im Bereich Diagnoseeinstellungen Ihrer Azure Web PubSub-Dienstinstanz die Option + Diagnoseeinstellung hinzufügen aus.
Geben Sie im Feld Name der Diagnoseeinstellung den Namen der Einstellung ein.
Wählen Sie unter Kategoriedetails die benötigten Protokollkategorien aus.
Wählen Sie unter Zieldetails die Option In ein Speicherkonto archivieren aus.
Wählen Sie Speichern aus, um die Diagnoseeinstellung zu speichern.
Hinweis
Das Speicherkonto sollte sich in derselben Region wie der Azure Web PubSub-Dienst befinden.
Die Protokolle werden in dem im Bereich Diagnoseeinstellung konfigurierten Speicherkonto gespeichert. Ein Container mit dem Namen insights-logs-<CATEGORY_NAME>
wird automatisch erstellt, um Ressourcenprotokolle zu speichern. In dem Container werden Protokolle in der Datei resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT.SIGNALRSERVICE/SIGNALR/XXX/y=YYYY/m=MM/d=DD/h=HH/m=00/PT1H.json
gespeichert. Der Pfad setzt sich aus resource ID
und Date Time
zusammen. Die Protokolldateien werden anhand der hour
aufgeteilt. Der Minutenwert ist immer m=00
.
Alle Protokolle werden im JavaScript Object Notation (JSON)-Format gespeichert. Jeder Eintrag enthält Zeichenfolgenfelder im nachfolgend beschriebenen Format.
JSON-Zeichenfolgen in Archivprotokollen enthalten die Elemente, die in den folgenden Tabellen aufgeführt sind.
Name | Beschreibung |
---|---|
time |
Protokollereigniszeit |
level |
Protokollereignisebene |
resourceId |
Ressourcen-ID Ihrer Azure SignalR Service-Instanz |
location |
Speicherort Ihrer Azure SignalR Service-Instanz |
category |
Kategorie des Protokollereignisses. |
operationName |
Vorgangsname des Ereignisses. |
callerIpAddress |
IP-Adresse Ihres Servers oder Clients |
properties |
Detaillierte Eigenschaften im Zusammenhang mit diesem Protokollereignis (siehe folgende Tabelle) |
Name | Beschreibung |
---|---|
collection |
Sammlung des Protokollereignisses (Connection , Authorization oder Throttling ) |
connectionId |
Identität der Verbindung. |
userId |
Identität des Benutzers. |
message |
Ausführliche Meldung des Protokollereignisses. |
hub |
Benutzerdefinierter Hubname |
routeTemplate |
Routenvorlage der API |
httpMethod |
HTTP-Methode (POST , GET , PUT oder DELETE ) |
url |
Uniform Resource Locator |
traceId |
Der eindeutige Bezeichner für den Aufruf |
statusCode |
HTTP-Antwortcode |
duration |
Die Dauer zwischen dem Empfang und der Verarbeitung der Anforderung |
headers |
Zusätzliche Informationen, die vom Client und vom Server mit einer HTTP-Anforderung oder -Antwort übergeben werden |
Es folgt ein Codebeispiel für eine JSON-Zeichenfolge in einem Archivierungsprotokoll:
{
"properties": {
"message": "Connection started",
"collection": "Connection",
"connectionId": "LW61bMG2VQLIMYIVBMmyXgb3c418200",
"userId": null
},
"operationName": "ConnectionStarted",
"category": "ConnectivityLogs",
"level": "Informational",
"callerIpAddress": "167.220.255.79",
"resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/MYGROUP/PROVIDERS/MICROSOFT.SIGNALRSERVICE/WEBPUBSUB/MYWEBPUBSUB",
"time": "2021-09-17T05:25:05Z",
"location": "westus"
}
So senden Sie Protokolle an einen Log Analytics-Arbeitsbereich:
Wählen Sie auf der Seite Diagnoseeinstellung unter Zieldetails die Option An Log Analytics-Arbeitsbereich senden aus.
Wählen Sie unter Abonnement das gewünschte Abonnement aus.
Wählen Sie Log Analytics-Arbeitsbereich als Ziel für die Protokolle aus.
Führen Sie die folgenden Schritte aus, um die Ressourcenprotokolle anzuzeigen:
Wählen Sie in Ihrem Log Analytics-Zielarbeitsbereich Protokolle aus.
Geben Sie zum Abfragen des Protokolls WebPubSubConnectivity
, WebPubSubMessaging
oder WebPubSubHttpRequest
ein, und wählen Sie dann den Zeitbereich aus. Informationen zu komplexeren Abfragen finden Sie unter Erste Schritte mit Log Analytics in Azure Monitor.
Führen Sie die folgenden Schritte aus, um eine Beispielabfrage für SignalR Service zu verwenden:
Wählen Sie in Ihrem Log Analytics-Zielarbeitsbereich Protokolle aus.
Klicken Sie auf Abfragen, um den Abfrage-Explorer zu öffnen.
Wählen Sie Ressourcentyp aus, um Beispielabfragen nach Ressourcentyp zu gruppieren.
Klicken Sie auf Ausführen, um das Skript auszuführen.
Archivprotokollspalten enthalten Elemente, die in der folgenden Tabelle aufgeführt sind:
Name | Beschreibung |
---|---|
TimeGenerated |
Protokollereigniszeit |
Collection |
Sammlung des Protokollereignisses (Connection , Authorization und Throttling ) |
OperationName |
Vorgangsname des Ereignisses. |
Location |
Speicherort Ihrer Azure SignalR Service-Instanz |
Level |
Protokollereignisebene |
CallerIpAddress |
IP-Adresse Ihres Servers/Clients. |
Message |
Ausführliche Meldung des Protokollereignisses. |
UserId |
Identität des Benutzers. |
ConnectionId |
Identität der Verbindung. |
ConnectionType |
Typ der Verbindung (Server , eine Verbindung von der Serverseite; und Client , eine Verbindung von der Clientseite) |
TransportType |
Transporttyp der Verbindung (Websockets , ServerSentEvents und LongPolling ) |
Wenn die Anzahl der Verbindungen unerwartet steigt oder sinkt, können Sie das Problem mithilfe von Ressourcenprotokollen beheben. Typische Probleme sind unerwartete Änderungen bei der Anzahl der Verbindungen, das Erreichen von Verbindungslimits sowie Autorisierungsfehler.
Wenn eine Verbindung getrennt wird, zeichnen die Ressourcenprotokolle das Trennungsereignis mit ConnectionAborted
oder ConnectionEnded
in operationName
auf.
Der Unterschied zwischen ConnectionAborted
und ConnectionEnded
besteht darin, dass ConnectionEnded
eine erwartete Trennung ist, die client- oder serverseitig ausgelöst wird. Im Gegensatz dazu bezieht sich ConnectionAborted
in der Regel auf ein Ereignis, bei dem eine Verbindung unerwartet abbricht. Der Grund für die Trennung wird in message
angegeben.
In der folgenden Tabelle sind die Gründe für eine unerwartete Trennung aufgeführt.
Ursache | BESCHREIBUNG |
---|---|
Anzahl der Verbindungen erreicht das Limit. | Die Anzahl der Verbindungen erreicht das Limit Ihres aktuellen Tarifs. Erwägen Sie eine Skalierung der Diensteinheit. |
Erneutes Laden des Diensts, Wiederherstellen der Verbindung. | Der Azure Web PubSub-Dienst wird neu geladen. Sie müssen Ihren eigenen Mechanismus für das Wiederverbinden implementieren oder manuell eine neue Verbindung mit dem Azure Web PubSub-Dienst herstellen. |
Vorübergehender interner Serverfehler. | Ein vorübergehender Fehler tritt im Azure Web PubSub-Dienst auf. Die Wiederherstellung sollte automatisch erfolgen. |
Wenn die Anzahl der Clientverbindungen unerwartet zunimmt, sollten Sie die folgenden Schritte ausführen. Filtern Sie zunächst die überflüssigen Verbindungen, und fügen Sie Ihrer Testclientverbindung eine eindeutige Testbenutzer-ID hinzu. Überprüfen Sie dann die Ressourcenprotokolle. Wenn mehrere Clientverbindungen dieselbe Testbenutzer-ID oder IP-Adresse aufweisen, werden wahrscheinlich auf Clientseite mehr Verbindungen hergestellt als erwartet. Überprüfen Sie Ihren Clientcode, um die Quelle der zusätzlichen Verbindungen zu finden.
Wenn bei Clientanforderungen 401 – Nicht autorisiert zurückgegeben wird, überprüfen Sie Ihre Ressourcenprotokolle. Wenn Sie Failed to validate audience. Expected Audiences: <valid audience>. Actual Audiences: <actual audience>
finden, bedeutet dies, dass alle Zielgruppen in Ihrem Zugriffstoken ungültig sind. Versuchen Sie, die im Protokoll vorgeschlagenen gültigen Zielgruppen zu verwenden.
Wenn Sie feststellen, dass Sie keine Clientverbindungen mit dem Azure Web PubSub-Dienst herstellen können, überprüfen Sie Ihre Ressourcenprotokolle. Wenn im Ressourcenprotokoll Connection count reaches limit
angezeigt wird, haben Sie zu viele Verbindungen mit dem Azure Web PubSub-Dienst hergestellt und das Limit für die Verbindungsanzahl erreicht. Erwägen Sie die Hochskalierung Ihrer Azure Web PubSub-Dienstinstanz.
Wenn Message count reaches limit
im Ressourcenprotokoll angezeigt wird und Sie die Stufe "Frei" verwenden, bedeutet dies, dass Sie das Kontingent von Nachrichten verwendet haben. Wenn Sie weitere Nachrichten senden möchten, sollten Sie ihre Azure Web PubSub-Dienstinstanz auf die Standardebene ändern. Weitere Informationen finden Sie in der Preisübersicht für Azure Web PubSub.
Training
Lernpfad
Lernpfad „Verbinden Ihrer Dienste“ - Training
Verwenden Sie Azure, um Website-Front-Ends, Back-End-Dienste und ausgelöste Compute-on-Demand-Funktionen zu erstellen, die auch miteinander kommunizieren können.
Dokumentation
Handbuch zur Problembehandlung für Azure Web PubSub Service
Erfahren Sie, wie Sie häufige Probleme bei Web PubSub beheben.
Problembehandlung und Debuggen des Azure Web PubSub-Ereignishandlers
Hier finden Sie einen Leitfaden zum lokalen Debuggen von Ereignishandlern bei der Entwicklung mit dem Azure Web PubSub-Dienst.