Delen via


Problemen met resourcelogboeken oplossen

Deze handleiding biedt een overzicht van azure Web PubSub-resourcelogboeken en tips voor het gebruik van de logboeken om problemen op te lossen. U kunt logboeken gebruiken voor identificatie van problemen, tracering van verbindingen, berichttracering, tracering van HTTP-aanvragen en analyse.

Wat zijn resourcelogboeken?

Er zijn drie typen resourcelogboeken:

  • Connectiviteitslogboeken bieden gedetailleerde informatie voor Azure Web PubSub-hubverbindingen. Ze kunnen basisinformatie bevatten, zoals gebruikers-id en verbindings-id, of gebeurtenisgegevens zoals verbinding maken en verbreken.
  • Berichtenlogboeken bieden traceringsinformatie voor hubberichten die worden verzonden of ontvangen via de Azure Web PubSub-service, zoals de tracerings-id of het berichttype.
  • HTTP-aanvraaglogboeken bieden traceringsinformatie voor HTTP-aanvragen naar de Azure Web PubSub-service, zoals http-methode of statuscode. Normaal gesproken wordt een HTTP-aanvraag geregistreerd wanneer deze bij de service aankomt of verlaat.

Resourcelogboeken vastleggen met behulp van het hulpprogramma voor live tracering

Het hulpprogramma voor live tracering in de Azure Web PubSub-service kan resourcelogboeken in realtime verzamelen. Dit is handig voor het oplossen van problemen in uw ontwikkelomgeving. Het hulpprogramma voor live tracering kan connectiviteitslogboeken, berichtenlogboeken en HTTP-aanvraaglogboeken vastleggen.

Houd rekening met de volgende factoren bij het gebruik van het hulpprogramma livetracering:

  • De realtime resourcelogboeken die door het hulpprogramma live tracering worden vastgelegd, worden gefactureerd als berichten (uitgaand verkeer).
  • Het gratis laagexemplaren van de Azure Web PubSub-service heeft een dagelijkse limiet van 20.000 berichten (uitgaand verkeer). U kunt de dagelijkse limiet onverwacht bereiken met behulp van livetracering.
  • Het hulpprogramma voor livetracering biedt momenteel geen ondersteuning voor Microsoft Entra-autorisatie. U moet toegangssleutels inschakelen om live tracering te kunnen gebruiken. Selecteer Onder Instellingen de optie Sleutels en schakel vervolgens Toegangssleutel in.

Het hulpprogramma voor livetracering starten

Wanneer u een toegangssleutel inschakelt, gebruikt u het toegangstoken om het hulpprogramma voor live tracering te verifiëren. Anders gebruikt u Microsoft Entra ID om het hulpprogramma voor live tracering te verifiëren. U kunt nagaan of de toegangssleutel is ingeschakeld door naar het deelvenster Sleutels in uw Azure SignalR Service-exemplaar in Azure Portal te gaan.

De livetracering openen wanneer de toegangssleutel is ingeschakeld

  1. Ga naar Azure Portal en het deelvenster SignalR Service.

  2. Selecteer in het servicemenu onder Bewaking de instellingen voor livetracering.

  3. Selecteer Live Trace inschakelen.

  4. Selecteer de knop Opslaan. Het duurt even voordat de wijzigingen van kracht worden.

  5. Wanneer het bijwerken is voltooid, selecteert u Open Live Trace Tool.

    Schermopname van het openen van het live traceringsprogramma.

Open het hulpprogramma livetracering wanneer de toegangssleutel is uitgeschakeld

API-machtiging voor live tracering toewijzen aan uzelf

  1. Ga naar Azure Portal en het deelvenster SignalR Service.

  2. Klik op Toegangsbeheer (IAM) .

  3. Selecteer +Toevoegen en selecteer vervolgens Roltoewijzing.

  4. Selecteer op het tabblad Functierollen de rol SignalR-service-eigenaar en selecteer vervolgens Volgende.

  5. Klik in het deelvenster Leden op +Leden selecteren.

  6. Zoek en selecteer leden en klik vervolgens op Selecteren.

  7. Selecteer Controleren en toewijzen en wacht totdat de voltooiingsmelding is voltooid.

Het hulpprogramma live traceren inschakelen

  1. Ga naar Azure Portal en het deelvenster SignalR Service.

  2. Selecteer in het servicemenu onder Bewaking de instellingen voor livetracering.

  3. Selecteer Live Trace inschakelen.

  4. Selecteer de knop Opslaan. Het duurt even voordat de wijzigingen van kracht worden.

  5. Wanneer het bijwerken is voltooid, selecteert u Open Live Trace Tool.

    Schermopname van het openen van het live traceringsprogramma.

Aanmelden met uw Microsoft-account

  1. Het hulpprogramma livetracering zorgt ervoor dat een Microsoft-aanmeldingsvenster wordt geopend. Als er geen venster wordt geopend, staat u pop-upvensters toe in uw browserinstellingen.

  2. Wacht tot gereed is weergegeven op de statusbalk.

De resourcelogboeken vastleggen

Het hulpprogramma voor live tracering kan u helpen bij het vastleggen van de resourcelogboeken voor probleemoplossing.

  • Capture begint met het vastleggen van de realtime resourcelogboeken van Azure Web PubSub.
  • Met Clear worden de vastgelegde realtime resourcelogboeken gewist.
  • Logboekfilter filtert de vastgelegde realtime resourcelogboeken met één specifiek trefwoord. De gemeenschappelijke scheidingstekens, zoals spatie, komma en puntkomma, worden behandeld als onderdeel van het trefwoord.
  • Status geeft aan of het hulpprogramma voor livetracering is verbonden of is verbroken met het specifieke exemplaar.

Schermopname van het vastleggen van resourcelogboeken met het hulpprogramma live tracering.

De realtime resourcelogboeken die door het hulpprogramma livetracering zijn vastgelegd, bevatten gedetailleerde informatie voor het oplossen van problemen.

Name Beschrijving
Tijd Gebeurtenistijd registreren
Logboekniveau Gebeurtenisniveau logboeken (Trace, Debug, Informationalof ErrorWarning )
Gebeurtenisnaam Bewerkingsnaam van de gebeurtenis
Bericht Gedetailleerd bericht voor de gebeurtenis
Uitzondering Runtime-uitzondering van de Azure Web PubSub-service
Hub Door de gebruiker gedefinieerde hubnaam
Verbindings-id Identiteit van de verbinding
Gebruikers-ID Gebruikersidentiteit
IP IP-adres van client
Routesjabloon Routesjabloon van de API
HTTP-methode HTTP-methode (POST, GETof DELETEPUT )
URL Uniform resource locator
Tracerings-id Unieke id voor de aanroep
Statuscode Code van HTTP-antwoord
Duur Duur tussen het ontvangen van de aanvraag en het verwerken van de aanvraag
Kopteksten Aanvullende informatie die wordt doorgegeven door de client en de server met een HTTP-aanvraag of -antwoord

Resourcelogboeken vastleggen met Azure Monitor

Resourcelogboeken inschakelen

Momenteel biedt Azure Web PubSub ondersteuning voor integratie met Azure Storage.

  1. Ga naar de Azure Portal.

  2. Selecteer in het deelvenster Diagnostische instellingen van uw Azure Web PubSub-service-exemplaar de optie + Diagnostische instelling toevoegen.

    Schermopname van het weergeven van diagnostische instellingen en het maken van een nieuwe.

  3. Voer in de naam van de diagnostische instelling de naam van de instelling in.

  4. Selecteer in Categoriedetails een logboekcategorie die u nodig hebt.

  5. Selecteer Archiveren in doeldetails naar een opslagaccount.

    Schermopname van het configureren van de diagnostische instelling.

  6. Selecteer Opslaan om de diagnostische instelling op te slaan.

    Notitie

    Het opslagaccount moet zich in dezelfde regio bevinden als de Azure Web PubSub-service.

Archiveren naar een Azure-opslagaccount

Logboeken worden opgeslagen in het opslagaccount dat is geconfigureerd in het deelvenster Diagnostische instellingen . Er wordt automatisch een container met de naam insights-logs-<CATEGORY_NAME> gemaakt om resourcelogboeken op te slaan. In de container worden logboeken opgeslagen in het bestand 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. Het pad wordt gecombineerd door resource ID en Date Time. De logboekbestanden worden gesplitst door hour. De minuutwaarde is altijd m=00.

Alle logboeken worden opgeslagen in JSON-indeling (JavaScript Object Notation). Elke vermelding bevat tekenreeksvelden die gebruikmaken van de indeling die in de volgende secties wordt beschreven.

JSON-tekenreeksen in archieflogboeken bevatten elementen die worden vermeld in de volgende tabellen.

Notatie

Name Beschrijving
time Gebeurtenistijd registreren
level Gebeurtenisniveau logboeken
resourceId Resource-id van uw Azure SignalR Service-exemplaar
location Locatie van uw Azure SignalR Service-exemplaar
category Categorie van de logboek gebeurtenis
operationName Bewerkingsnaam van de gebeurtenis
callerIpAddress IP-adres van uw server of client
properties Gedetailleerde eigenschappen met betrekking tot deze logboek gebeurtenis (zie de volgende tabel)

Tabel Eigenschappen

Name Beschrijving
collection Verzameling van de logboek gebeurtenis (Connectionof Authorization Throttling)
connectionId Identiteit van de verbinding
userId Identiteit van de gebruiker
message Gedetailleerd bericht van logboek gebeurtenis
hub Door de gebruiker gedefinieerde hubnaam
routeTemplate Routesjabloon van de API
httpMethod HTTP-methode (POST, GETof DELETEPUT )
url Uniform resource locator
traceId Unieke id voor de aanroep
statusCode Code van HTTP-antwoord
duration Duur van de tijd tussen het ontvangen en verwerken van de aanvraag
headers Aanvullende informatie die wordt doorgegeven door de client en de server met een HTTP-aanvraag of -antwoord

De volgende code is een voorbeeld van een JSON-tekenreeks in een archieflogboek:

{
  "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"
}

Archiveren naar Azure Log Analytics

Logboeken verzenden naar een Log Analytics-werkruimte:

  1. Selecteer verzenden naar Log Analytics-werkruimte in het deelvenster Diagnostische instellingen onder Doeldetails.

  2. Selecteer bij Abonnement het abonnement dat u wilt gebruiken.

  3. Selecteer Log Analytics-werkruimte voor de bestemming voor de logboeken.

Voer de volgende stappen uit om de resourcelogboeken weer te geven:

  1. Selecteer Logboeken in uw doel-Log Analytics-werkruimte.

    Schermopname van een Menu-item van Log Analytics.

  2. Als u een query wilt uitvoeren op het logboek, voert u het tijdsbereik in WebPubSubConnectivityof WebPubSubMessagingselecteert WebPubSubHttpRequestu het tijdsbereik. Zie Aan de slag met Log Analytics in Azure Monitor voor geavanceerde query's.

    Schermopname van een query in Log Analytics.

Voer de volgende stappen uit om een voorbeeldquery te gebruiken voor SignalR-service:

  1. Selecteer Logboeken in uw doel-Log Analytics-werkruimte.

  2. Selecteer Query's om de queryverkenner te openen.

  3. Selecteer Resourcetype om voorbeeldquery's te groeperen op resourcetype.

  4. Selecteer Uitvoeren om het script uit te voeren.

    Schermopname van een voorbeeldquery in Log Analytics.

Archieflogboekkolommen bevatten elementen die worden vermeld in de volgende tabel.

Name Beschrijving
TimeGenerated Gebeurtenistijd registreren
Collection Verzameling van de logboek gebeurtenis (Connection, Authorizationen Throttling)
OperationName Bewerkingsnaam van de gebeurtenis
Location Locatie van uw Azure SignalR Service-exemplaar
Level Gebeurtenisniveau logboeken
CallerIpAddress IP-adres van uw server/client
Message Gedetailleerd bericht van logboek gebeurtenis
UserId Identiteit van de gebruiker
ConnectionId Identiteit van de verbinding
ConnectionType Type van de verbinding (Server, een verbinding vanaf de serverzijde; en Client, een verbinding vanaf de clientzijde)
TransportType Transporttype van de verbinding (Websockets, ServerSentEventsen LongPolling)

Resourcelogboeken gebruiken om problemen op te lossen

Als u onverwachte toenames of afnames vindt in het aantal verbindingen, kunt u het probleem oplossen met behulp van resourcelogboeken. Mogelijke problemen zijn onverwachte wijzigingen in verbindingshoeveelheid, verbindingen die verbindingslimieten bereiken en autorisatiefouten.

Onverwachte verbroken gebeurtenissen

Als een verbinding wordt verbroken, registreren de resourcelogboeken de verbroken gebeurtenis met ConnectionAborted of ConnectionEnded in operationName.

Het verschil tussen ConnectionAborted en ConnectionEnded is dat ConnectionEnded is een verwachte verbroken verbinding die wordt geactiveerd door de client- of serverzijde. ConnectionAborted Meestal verwijst dit naar een gebeurtenis waarin een verbinding onverwacht wordt verbroken en de reden voor de verbinding wordt opgegeven in message.

De volgende tabel bevat redenen voor een onverwachte verbroken verbinding.

Reden Beschrijving
Het aantal verbindingen bereikt de limiet Het aantal verbindingen bereikt de limiet van uw huidige prijscategorie. Overweeg om de service-eenheid omhoog te schalen.
Service opnieuw laden, opnieuw verbinding maken De Azure Web PubSub-service wordt opnieuw geladen. U moet uw eigen mechanisme voor opnieuw verbinden implementeren of handmatig opnieuw verbinding maken met de Azure Web PubSub-service.
Tijdelijke fout op de interne server Er treedt een tijdelijke fout op in de Azure Web PubSub-service. Herstel moet automatisch zijn.

Onverwachte toename van verbindingen

Wanneer het aantal clientverbindingen onverwacht toeneemt, moet u deze stappen volgen. Filter eerst de overbodige verbindingen en voeg een unieke testgebruiker-id toe aan uw testclientverbinding. Controleer vervolgens de resourcelogboeken. Als u merkt dat meer dan één clientverbinding dezelfde testgebruikers-id of hetzelfde IP-adres heeft, is het waarschijnlijk dat de client meer verbindingen maakt dan verwacht. Controleer de clientcode om de bron van de extra verbindingen te vinden.

Autorisatiefout

Als er 401 Niet-geautoriseerd wordt geretourneerd voor clientaanvragen, controleert u de resourcelogboeken. Als u dit vindt Failed to validate audience. Expected Audiences: <valid audience>. Actual Audiences: <actual audience>, betekent dit dat alle doelgroepen in uw toegangstoken ongeldig zijn. Probeer de geldige doelgroepen te gebruiken die in het logboek worden voorgesteld.

Beperking

Als u merkt dat u geen clientverbindingen met de Azure Web PubSub-service tot stand kunt brengen, controleert u de resourcelogboeken. Als u in het resourcelogboek ziet Connection count reaches limit , hebt u te veel verbindingen met de Azure Web PubSub-service tot stand gebracht en de limiet voor het aantal verbindingen bereikt. Overweeg om het azure Web PubSub-service-exemplaar omhoog te schalen.

Als u in het resourcelogboek ziet Message count reaches limit en u de gratis laag gebruikt, betekent dit dat u het quotum van berichten hebt gebruikt. Als u meer berichten wilt verzenden, kunt u overwegen uw Azure Web PubSub-service-exemplaar te wijzigen in de Standard-laag. Zie prijzen voor Azure Web PubSub voor meer informatie.