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
Ga naar Azure Portal en het deelvenster SignalR Service.
Selecteer in het servicemenu onder Bewaking de instellingen voor livetracering.
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.
Open het hulpprogramma livetracering wanneer de toegangssleutel is uitgeschakeld
API-machtiging voor live tracering toewijzen aan uzelf
Ga naar Azure Portal en het deelvenster SignalR Service.
Klik op Toegangsbeheer (IAM) .
Selecteer +Toevoegen en selecteer vervolgens Roltoewijzing.
Selecteer op het tabblad Functierollen de rol SignalR-service-eigenaar en selecteer vervolgens Volgende.
Klik in het deelvenster Leden op +Leden selecteren.
Zoek en selecteer leden en klik vervolgens op Selecteren.
Selecteer Controleren en toewijzen en wacht totdat de voltooiingsmelding is voltooid.
Het hulpprogramma live traceren inschakelen
Ga naar Azure Portal en het deelvenster SignalR Service.
Selecteer in het servicemenu onder Bewaking de instellingen voor livetracering.
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 zorgt ervoor dat een Microsoft-aanmeldingsvenster wordt geopend. Als er geen venster wordt geopend, staat u pop-upvensters toe in uw browserinstellingen.
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.
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 , Informational of Error Warning ) |
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 , GET of DELETE PUT ) |
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.
Ga naar de Azure Portal.
Selecteer in het deelvenster Diagnostische instellingen van uw Azure Web PubSub-service-exemplaar de optie + Diagnostische instelling toevoegen.
Voer in de naam van de diagnostische instelling de naam van de instelling in.
Selecteer in Categoriedetails een logboekcategorie die u nodig hebt.
Selecteer Archiveren in 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-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 (Connection of 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 , GET of DELETE PUT ) |
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:
Selecteer verzenden naar Log Analytics-werkruimte in het deelvenster Diagnostische instellingen onder Doeldetails.
Selecteer bij Abonnement het abonnement dat u wilt gebruiken.
Selecteer Log Analytics-werkruimte voor de bestemming voor de logboeken.
Voer de volgende stappen uit om de resourcelogboeken weer te geven:
Selecteer Logboeken in uw doel-Log Analytics-werkruimte.
Als u een query wilt uitvoeren op het logboek, voert u het tijdsbereik in
WebPubSubConnectivity
ofWebPubSubMessaging
selecteertWebPubSubHttpRequest
u het tijdsbereik. Zie Aan de slag met Log Analytics in Azure Monitor voor geavanceerde query's.
Voer de volgende stappen uit om een voorbeeldquery te gebruiken voor SignalR-service:
Selecteer Logboeken in uw doel-Log Analytics-werkruimte.
Selecteer Query's om de queryverkenner te openen.
Selecteer Resourcetype om voorbeeldquery's te groeperen op resourcetype.
Selecteer Uitvoeren om het script uit te voeren.
Archieflogboekkolommen bevatten elementen die worden vermeld in de volgende tabel.
Name | Beschrijving |
---|---|
TimeGenerated |
Gebeurtenistijd registreren |
Collection |
Verzameling van de logboek gebeurtenis (Connection , Authorization en 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 , ServerSentEvents en 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.