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
Ga naar Azure Portal en uw SignalR Service-pagina.
Selecteer live traceringsinstellingen in het menu aan de linkerkant onder Bewaking.
Selecteer Live Trace inschakelen.
Selecteer de knop Opslaan . Het duurt even voordat de wijzigingen van kracht worden.
Wanneer het bijwerken is voltooid, selecteert u Open Live Trace Tool.
Stappen voor uitgeschakelde toegangssleutel
API-machtiging voor live tracering toewijzen aan uzelf
- Ga naar Azure Portal en uw SignalR Service-pagina.
- Klik op Toegangsbeheer (IAM) .
- Klik op de nieuwe pagina op +Toevoegen en klik vervolgens op Roltoewijzing.
- Op de nieuwe pagina richt u zich op het tabblad Taakfunctierollen , selecteer de rol SignalR-service-eigenaar en klikt u vervolgens op Volgende.
- Klik op de pagina Leden op +Leden selecteren.
- Zoek en selecteer leden in het nieuwe deelvenster en klik op Selecteren.
- Klik op Controleren en toewijzen en wacht op de voltooiingsmelding.
Live traceringsprogramma bezoeken
Ga naar Azure Portal en uw SignalR Service-pagina.
Selecteer live traceringsinstellingen in het menu aan de linkerkant onder Bewaking.
Selecteer Live Trace inschakelen.
Selecteer de knop Opslaan . Het duurt even voordat de wijzigingen van kracht worden.
Wanneer het bijwerken is voltooid, selecteert u Open Live Trace Tool.
Aanmelden met uw Microsoft-account
- Het hulpprogramma livetracering verschijnt een Microsoft-aanmeldingsvenster. Als er geen venster wordt weergegeven, controleert en staat u pop-upvensters toe in uw browser.
- 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.
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.
Ga naar Azure-portal.
Selecteer + Diagnostische instelling toevoegen op de pagina Diagnostische instellingen van uw Azure Web PubSub-service-exemplaar.
Voer in de naam van de diagnostische instelling de naam van de instelling in.
Selecteer in Categoriedetails een logboekcategorie die u nodig hebt.
Controleer archief in de doeldetails naar een opslagaccount.
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: Connection en Authorization Throttling |
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:
- Selecteer op de pagina Diagnostische instelling onder Doelgegevens de optie **Verzenden naar Log Analytics-werkruimte.
- Selecteer het abonnement dat u wilt gebruiken.
- 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:
Selecteer
Logs
in uw doellogboekanalyse.Voer
WebPubSubConnectivity
,WebPubSubMessaging
ofWebPubSubHttpRequest
, 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.
Als u een voorbeeldquery voor SignalR-service wilt gebruiken, volgt u de onderstaande stappen.
- Selecteer
Logs
in uw doellogboekanalyse. - Selecteer
Queries
deze optie om queryverkenner te openen. - Selecteer
Resource type
deze optie om voorbeeldquery's in het resourcetype te groeperen. - Selecteer
Run
dit om het script uit te voeren.
Archieflogboekkolommen bevatten elementen die worden vermeld in de volgende tabel.
Name | Beschrijving |
---|---|
TimeGenerated | Gebeurtenistijd registreren |
Verzameling | Verzameling van de logboek gebeurtenis. Toegestane waarden zijn: Connection en Authorization Throttling |
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.