Delen via


Problemen met resourcelogboeken oplossen

Deze handleiding biedt een overzicht van azure Web PubSub-resourcelogboeken en enkele tips voor het gebruik van de logboeken om bepaalde problemen op te lossen. Logboeken kunnen worden gebruikt voor het identificeren van problemen, het bijhouden van verbindingen, berichttracering, tracering van HTTP-aanvragen en analyse.

Wat zijn resourcelogboeken?

Er zijn drie typen resourcelogboeken: connectiviteit, berichten en HTTP-aanvragen.

  • Connectiviteitslogboeken bieden gedetailleerde informatie voor Azure Web PubSub-hubverbindingen. Basisinformatie (gebruikers-id, verbindings-id, enzovoort) en gebeurtenisgegevens (verbinding maken, verbreken enzovoort).
  • Berichtenlogboeken bieden traceringsinformatie voor de Azure Web PubSub-hub-berichten die zijn ontvangen en verzonden via de Azure Web PubSub-service. Tracerings-id en berichttype van het bericht.
  • Logboeken voor HTTP-aanvragen bieden traceringsinformatie voor HTTP-aanvragen naar de Azure Web PubSub-service. Bijvoorbeeld http-methode en statuscode. Normaal gesproken wordt de HTTP-aanvraag geregistreerd wanneer deze bij de service aankomt of vertrekt.

Resourcelogboeken vastleggen met behulp van het hulpprogramma voor live tracering

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

Notitie

De volgende overwegingen zijn van toepassing op het gebruik van het hulpprogramma voor livetracering:

  • De realtime resourcelogboeken die zijn vastgelegd door het hulpprogramma voor live tracering, worden gefactureerd als berichten (uitgaand verkeer).
  • 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 gratis laag-exemplaar van de Azure Web PubSub-service heeft een dagelijkse limiet van 20.000 berichten (uitgaand verkeer). Live tracering kan ertoe leiden dat u onverwacht de dagelijkse limiet bereikt.

Het hulpprogramma voor livetracering starten

Notitie

Wanneer u 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 controleren of u de toegangssleutel inschakelt of niet op de pagina Sleutels van uw SignalR-service in Azure Portal.

Stappen voor ingeschakelde toegangssleutel

  1. Ga naar Azure Portal en uw SignalR Service-pagina.

  2. Selecteer live traceringsinstellingen in het menu aan de linkerkant onder Bewaking.

  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 starten van het live traceringsprogramma.

Stappen voor uitgeschakelde toegangssleutel

API-machtiging voor live tracering toewijzen aan uzelf

  1. Ga naar Azure Portal en uw SignalR Service-pagina.
  2. Klik op Toegangsbeheer (IAM) .
  3. Klik op de nieuwe pagina op +Toevoegen en klik vervolgens op Roltoewijzing.
  4. Op de nieuwe pagina richt u zich op het tabblad Taakfunctierollen , selecteer de rol SignalR-service-eigenaar en klikt u vervolgens op Volgende.
  5. Klik op de pagina Leden op +Leden selecteren.
  6. Zoek en selecteer leden in het nieuwe deelvenster en klik op Selecteren.
  7. Klik op Controleren en toewijzen en wacht op de voltooiingsmelding.

Live traceringsprogramma bezoeken

  1. Ga naar Azure Portal en uw SignalR Service-pagina.

  2. Selecteer live traceringsinstellingen in het menu aan de linkerkant onder Bewaking.

  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 starten van het live traceringsprogramma.

Aanmelden met uw Microsoft-account

  1. Het hulpprogramma livetracering verschijnt een Microsoft-aanmeldingsvenster. Als er geen venster wordt weergegeven, controleert en staat u pop-upvensters toe in uw browser.
  2. Wacht op Gereed weergegeven in de statusbalk.

De resourcelogboeken vastleggen

Het hulpprogramma voor live tracering biedt functionaliteit waarmee u de resourcelogboeken kunt vastleggen voor probleemoplossing.

  • Vastleggen: Begin met het vastleggen van de realtime resourcelogboeken van Azure Web PubSub.
  • Wissen: wis de vastgelegde realtime resourcelogboeken.
  • Logboekfilter: Met het hulpprogramma live tracering kunt u de vastgelegde realtime resourcelogboeken filteren met één specifiek sleutelwoord. De gemeenschappelijke scheidingstekens (bijvoorbeeld spatie, komma, puntkomma, enzovoort) worden behandeld als onderdeel van het sleutelwoord.
  • Status: De status geeft aan of het hulpprogramma voor livetracering is verbonden of is verbroken met het specifieke exemplaar.

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

De realtime resourcelogboeken die zijn vastgelegd door het live traceringsprogramma bevatten gedetailleerde informatie voor probleemoplossing.

Name Beschrijving
Time Gebeurtenistijd registreren
Logboekniveau Gebeurtenisniveau logboek, kan [Trace | Fouten opsporen | Informatie | Waarschuwing | Fout]
Gebeurtenisnaam Bewerkingsnaam van de gebeurtenis
Bericht Gedetailleerd bericht voor de gebeurtenis
Uitzondering De 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 De routesjabloon van de API
HTTP-methode De HTTP-methode (POST/GET/PUT/DELETE)
URL De uniform resource locator
Tracerings-id De unieke id voor de aanroep
Statuscode De HTTP-antwoordcode
Duur De duur tussen het ontvangen van de aanvraag en het verwerken van de aanvraag
Kopteksten De 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 Azure-portal.

  2. Selecteer + Diagnostische instelling toevoegen op de pagina Diagnostische instellingen van uw Azure Web PubSub-service-exemplaar. 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. Controleer archief in de doeldetails naar een opslagaccount.

    Schermopname van het configureren van details van diagnostische instellingen

  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 Storage-account

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 voor archieflogboeken bevatten elementen die worden vermeld in de volgende tabellen:

Notatie

Name Beschrijving
tijd Gebeurtenistijd registreren
niveau Gebeurtenisniveau logboeken
resourceId Resource-id van uw Azure SignalR-service
locatie Locatie van uw Azure SignalR-service
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 onderstaande eigenschappentabel voor meer informatie

Eigenschappentabel

Name Beschrijving
verzameling Verzameling van de logboek gebeurtenis. Toegestane waarden zijn: Connectionen AuthorizationThrottling
connectionId Identiteit van de verbinding
userId Identiteit van de gebruiker
bericht Gedetailleerd bericht van logboek gebeurtenis
naaf Door de gebruiker gedefinieerde hubnaam
routeTemplate De routesjabloon van de API
httpMethod De HTTP-methode (POST/GET/PUT/DELETE)
URL De uniform resource locator
traceId De unieke id voor de aanroep
statuscode De HTTP-antwoordcode
duur De duur tussen de aanvraag wordt ontvangen en verwerkt
headers De 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 voor archieflogboeken:

{
  "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 op de pagina Diagnostische instelling onder Doelgegevens de optie **Verzenden naar Log Analytics-werkruimte.
  2. Selecteer het abonnement dat u wilt gebruiken.
  3. Selecteer de Log Analytics-werkruimte die u wilt gebruiken als de bestemming voor de logboeken.

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

  1. Selecteer Logs in uw doellogboekanalyse.

    Menu-item log analytics

  2. Voer WebPubSubConnectivity, WebPubSubMessaging of WebPubSubHttpRequest, en selecteer vervolgens het tijdsbereik om een query uit te voeren op het logboek. Zie Aan de slag met Log Analytics in Azure Monitor voor geavanceerde query's.

    Querylogboek in Log Analytics

Als u een voorbeeldquery voor SignalR-service wilt gebruiken, volgt u de onderstaande stappen.

  1. Selecteer Logs in uw doellogboekanalyse.
  2. Selecteer Queries deze optie om queryverkenner te openen.
  3. Selecteer Resource type deze optie om voorbeeldquery's in het resourcetype te groeperen.
  4. Selecteer Run dit om het script uit te voeren. Voorbeeldquery in Log Analytics

Archieflogboekkolommen bevatten elementen die worden vermeld in de volgende tabel.

Name Beschrijving
TimeGenerated Gebeurtenistijd registreren
Verzameling Verzameling van de logboek gebeurtenis. Toegestane waarden zijn: Connectionen AuthorizationThrottling
OperationName Bewerkingsnaam van de gebeurtenis
Locatie Locatie van uw Azure SignalR-service
Niveau Gebeurtenisniveau logboeken
CallerIpAddress IP-adres van uw server/client
Bericht Gedetailleerd bericht van logboek gebeurtenis
Gebruikers-id Identiteit van de gebruiker
ConnectionId Identiteit van de verbinding
ConnectionType Type verbinding. Toegestane waarden zijn: Server | Client. Server: verbinding vanaf serverzijde; Client: verbinding vanaf clientzijde
TransportType Transporttype van de verbinding. Toegestane waarden zijn: Websockets | ServerSentEvents | LongPolling

Problemen met de resourcelogboeken oplossen

Als u onverwachte wijzigingen in het aantal verbindingen vindt, kunt u profiteren van resourcelogboeken om het probleem op te lossen. Veelvoorkomende problemen zijn vaak betrekking op de onverwachte hoeveelheidswijzigingen van verbindingen, verbindingen bereiken verbindingslimieten en autorisatiefouten.

Onverwachte wijzigingen in het aantal verbindingen

Onverwacht verwijderen van verbinding

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

Het verschil tussen ConnectionAborted en ConnectionEnded dat is een ConnectionEnded verwachte verbroken verbinding die wordt geactiveerd door de client of serverzijde. Hoewel het meestal een onverwachte gebeurtenis voor het verwijderen van de ConnectionAborted verbinding is en de reden voor de verbroken verbinding wordt opgegeven in message.

De afgebroken redenen worden vermeld in de volgende tabel:

Reden Beschrijving
Het aantal verbindingen bereikt de limiet Het aantal verbindingen bereikt de limiet van uw huidige prijscategorie. Overweeg om 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 Tijdelijke fout treedt op in de Azure Web PubSub-service, moet automatisch worden hersteld

Onverwachte toename van verbindingen

Wanneer het aantal clientverbindingen onverwacht toeneemt, moet u eerst de overbodige verbindingen uitfilteren. Voeg een unieke testgebruiker-id toe aan uw testclientverbinding. Controleer vervolgens de resourcelogboeken; als er meer dan één clientverbinding dezelfde testgebruikers-id of hetzelfde IP-adres heeft, maakt de client waarschijnlijk meer verbindingen 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 tot stand kunt brengen met de Azure Web PubSub-service, 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 van de Azure Web PubSub-service voor meer informatie.