Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här guiden innehåller en översikt över Azure Web PubSub-resursloggar och tips för hur du använder loggarna för att felsöka problem. Du kan använda loggar för problemidentifiering, anslutningsspårning, meddelandespårning, SPÅRNING av HTTP-begäranden och analys.
Vad är resursloggar?
Det finns tre typer av resursloggar:
- Anslutningsloggar innehåller detaljerad information för Azure Web PubSub Hub-anslutningar. De kan innehålla grundläggande information som användar-ID och anslutnings-ID eller händelseinformation som anslutning och frånkoppling.
- Meddelandeloggar tillhandahåller spårningsinformation för hubbmeddelanden som skickas eller tas emot via Azure Web PubSub-tjänsten, till exempel spårnings-ID eller meddelandetyp.
- HTTP-begärandeloggar tillhandahåller spårningsinformation för HTTP-begäranden till Azure Web PubSub-tjänsten, till exempel HTTP-metod eller statuskod. Vanligtvis registreras en HTTP-begäran när den anländer till eller lämnar tjänsten.
Samla in resursloggar med hjälp av livespårningsverktyget
Livespårningsverktyget i Azure Web PubSub-tjänsten kan samla in resursloggar i realtid, vilket är användbart för att felsöka problem i utvecklingsmiljön. Livespårningsverktyget kan samla in anslutningsloggar, meddelandeloggar och HTTP-begärandeloggar.
Du bör tänka på följande faktorer när du använder livespårningsverktyget:
- Realtidsresursloggarna som livespårningsverktyget samlar in faktureras som meddelanden (utgående trafik).
- Instansen på den kostnadsfria nivån för Azure Web PubSub-tjänsten har en daglig gräns på 20 000 meddelanden (utgående trafik). Du kan oväntat nå den dagliga gränsen med hjälp av livespårning.
- Livespårningsverktyget stöder för närvarande inte Microsoft Entra-auktorisering. Du måste aktivera åtkomstnycklar för att kunna använda livespårning. Under Inställningar väljer du Nycklar och aktiverar sedan Åtkomstnyckel.
Starta livespårningsverktyget
När du aktiverar en åtkomstnyckel använder du åtkomsttoken för att autentisera livespårningsverktyget. Annars använder du Microsoft Entra-ID för att autentisera livespårningsverktyget. Du kan ta reda på om åtkomstnyckeln är aktiverad genom att gå till fönstret Nycklar i Azure SignalR Service-instansen i Azure Portal.
Öppna livespårningen när åtkomstnyckeln är aktiverad
Gå till Azure-portalen och sidan för SignalR Service.
På tjänstmenyn går du till Övervakning och väljer Inställningar för livespårning.
Välj Aktivera livespårning.
Klicka på knappen Spara. Det tar en stund innan ändringarna börjar gälla.
När uppdateringen är klar väljer du Öppna livespårningsverktyget.
Öppna livespårningsverktyget när åtkomstnyckeln är inaktiverad
Tilldela direktspårningsverktygs-API-behörighet till dig själv
Gå till Azure-portalen och SignalR-servicepanelen.
Välj Åtkomstkontroll (IAM) .
Välj +Lägg till och sedan Rolltilldelning.
På fliken Jobbfunktionsroller väljer du rollen SignalR Service-ägare och väljer sedan Nästa.
Klicka på +Välj medlemmar i fönstret Medlemmar.
Sök efter och välj medlemmar och klicka sedan på Välj.
Välj Granska + tilldela och vänta tills du får ett slutförandemeddelande.
Aktivera livespårningsverktyget
Gå till Azure-portalen och SignalR Service-panelen.
På tjänstmenyn går du till Övervakning och väljer Inställningar för livespårning.
Välj Aktivera livespårning.
Klicka på knappen Spara. Det tar en stund innan ändringarna börjar gälla.
När uppdateringen är klar väljer du Öppna livespårningsverktyget.
Logga in med ditt Microsoft-konto
Livespårningsverktyget gör att ett Microsoft-inloggningsfönster öppnas. Om inget fönster öppnas tillåter du popup-fönster i webbläsarinställningarna.
Vänta tills Klar visas i statusfältet.
Samla in resursloggarna
Livespårningsverktyget kan hjälpa dig att samla in resursloggarna för felsökning.
- Capture börjar samla in resursloggar i realtid från Azure Web PubSub.
- Rensa rensar de insamlade resursloggarna i realtid.
- Loggfilter filtrerar de insamlade resursloggarna i realtid med ett specifikt nyckelord. Vanliga avgränsare som blanksteg, kommatecken och semikolon behandlas som en del av nyckelordet.
- Status visar om livespårningsverktyget är anslutet eller frånkopplat till den specifika instansen.
Resursloggarna i realtid som samlas in av livespårningsverktyget innehåller detaljerad information för felsökning.
Name | Beskrivning |
---|---|
Tid | Logghändelsetid |
Loggnivå | Logghändelsenivå (Trace , Debug , Informational eller Warning Error ) |
Händelsenamn | Händelsens åtgärdsnamn |
Meddelande | Detaljerat meddelande för händelsen |
Undantag | Körningsundantag för Azure Web PubSub-tjänsten |
Hubb | Användardefinierat hubbnamn |
Anslutnings-ID | Anslutningens identitet |
Användar-ID | Användaridentitet |
IP | Klientens IP-adress |
Routningsmall | Routningsmall för API:et |
HTTP-metod | HTTP-metod (POST , GET eller PUT DELETE ) |
URL | Enhetlig resurslokaliserare |
Spårnings-ID | Unik identifierare för anropet |
Statuskod | HTTP-svarskod |
Varaktighet | Varaktighet mellan att ta emot begäran och bearbeta begäran |
Rubriker | Ytterligare information som skickas av klienten och servern med en HTTP-begäran eller ett HTTP-svar |
Samla in resursloggar med Azure Monitor
Aktivera resursloggar
För närvarande stöder Azure Web PubSub integrering med Azure Storage.
Gå till Azure-portalen.
I fönstret Diagnostikinställningar i din Azure Web PubSub-tjänstinstans väljer du + Lägg till diagnostikinställning.
I Namn på diagnostikinställning anger du inställningsnamnet.
I Kategoriinformation väljer du alla loggkategorier som du behöver.
I Målinformation väljer du Arkivera till ett lagringskonto.
Spara diagnostikinställningen genom att välja Spara .
Anteckning
Lagringskontot ska finnas i samma region som Azure Web PubSub-tjänsten.
Arkivera till ett Azure Storage-konto
Loggar lagras i lagringskontot som konfigurerats i inställningsfönstret Diagnostik. En container med namnet insights-logs-<CATEGORY_NAME>
skapas automatiskt för att lagra resursloggar. I containern lagras loggar i filen 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
. Sökvägen bildas av resource ID
och Date Time
. Loggfilerna delas av hour
. Minutvärdet är alltid m=00
.
Alla loggar lagras i JSON-format (JavaScript Object Notation). Varje post har strängfält som använder formatet som beskrivs i följande avsnitt.
JSON-strängar i arkivloggar innehåller element som anges i följande tabeller.
Format
Name | Beskrivning |
---|---|
time |
Logghändelsetid |
level |
Logghändelsenivå |
resourceId |
Resurs-ID för din Azure SignalR Service-instans |
location |
Plats för din Azure SignalR Service-instans |
category |
Kategori för logghändelsen |
operationName |
Händelsens åtgärdsnamn |
callerIpAddress |
IP-adress för servern eller klienten |
properties |
Detaljerade egenskaper relaterade till den här logghändelsen (se följande tabell) |
Egenskapstabell
Name | Beskrivning |
---|---|
collection |
Insamling av logghändelsen (Connection eller Authorization Throttling ) |
connectionId |
Anslutningens identitet |
userId |
Användarens identitet |
message |
Detaljerat meddelande om logghändelse |
hub |
Användardefinierat hubbnamn |
routeTemplate |
Routningsmall för API:et |
httpMethod |
HTTP-metod (POST , GET eller PUT DELETE ) |
url |
Enhetlig resurslokaliserare |
traceId |
Unik identifierare för anropet |
statusCode |
HTTP-svarskod |
duration |
Tidsperioden mellan när begäran tas emot och bearbetas |
headers |
Ytterligare information som skickas av klienten och servern med en HTTP-begäran eller ett HTTP-svar |
Följande kod är ett exempel på en JSON-sträng i en arkivlogg:
{
"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"
}
Arkivera till Azure Log Analytics
Så här skickar du loggar till en Log Analytics-arbetsyta:
I fönstret Diagnostikinställning går du till Målinformation och väljer Skicka till Log Analytics-arbetsyta.
Som Prenumeration anger du den prenumeration som du vill använda.
Som mål för loggarna väljer du Log Analytics-arbetsyta.
Följ dessa steg för att visa resursloggarna:
Välj Loggar i din Log Analytics-målarbetsyta.
Om du vill köra frågor mot loggen anger du
WebPubSubConnectivity
,WebPubSubMessaging
ellerWebPubSubHttpRequest
och väljer sedan tidsintervallet. Avancerade frågor finns i Kom igång med Log Analytics i Azure Monitor.
Följ dessa steg om du vill använda en exempelfråga för SignalR-tjänsten:
Välj Loggar i din Log Analytics-miljö.
Välj Frågor för att öppna frågeutforskaren.
Välj Resurstyp för att gruppera exempelfrågor efter resurstyp.
Välj Kör för att köra skriptet.
Arkivloggkolumner innehåller element som anges i följande tabell.
Name | Beskrivning |
---|---|
TimeGenerated |
Logghändelsetid |
Collection |
Insamling av logghändelsen (Connection , Authorization och Throttling ) |
OperationName |
Händelsens åtgärdsnamn |
Location |
Plats för din Azure SignalR Service-instans |
Level |
Logghändelsenivå |
CallerIpAddress |
IP-adressen för servern/klienten |
Message |
Detaljerat meddelande om logghändelse |
UserId |
Användarens identitet |
ConnectionId |
Anslutningens identitet |
ConnectionType |
Typ av anslutning (Server en anslutning från serversidan och Client , en anslutning från klientsidan) |
TransportType |
Transporttyp för anslutningen (Websockets , ServerSentEvents och LongPolling ) |
Använda resursloggar för att felsöka
Om du upptäcker oväntade ökningar eller minskningar av antalet anslutningar kan du felsöka problemet med hjälp av resursloggar. Potentiella problem är oväntade ändringar av anslutningskvantitet, anslutningar som når anslutningsgränser och auktoriseringsfel.
Oväntade frånkopplingshändelser
Om en anslutning kopplas från registrerar resursloggarna frånkopplingshändelsen med ConnectionAborted
eller ConnectionEnded
i operationName
.
Skillnaden mellan ConnectionAborted
och ConnectionEnded
är att ConnectionEnded
är en förväntad frånkoppling som utlöses av klient- eller serversidan. Däremot ConnectionAborted
refererar vanligtvis till en händelse där en anslutning oväntat avbryts och orsaken till frånkoppling anges i message
.
I följande tabell visas orsaker till en oväntad frånkoppling.
Anledning | Beskrivning |
---|---|
Antalet anslutningar når gränsen | Antalet anslutningar når gränsen för den aktuella prisnivån. Överväg att skala upp tjänstenheten. |
Tjänsten laddas om, återansluts | Tjänsten Azure Web PubSub laddas om. Du måste implementera en egen återanslutningsmekanism eller manuellt återansluta till Azure Web PubSub-tjänsten. |
Tillfälliga fel för intern server | Ett tillfälligt fel uppstår i Azure Web PubSub-tjänsten. Återställningen ska vara automatisk. |
Oväntad ökning av anslutningar
När antalet klientanslutningar oväntat ökar bör du följa dessa steg. Filtrera först bort de överflödiga anslutningarna och lägg till ett unikt testanvändar-ID i testklientanslutningen. Kontrollera sedan resursloggarna. Om du märker att fler än en klientanslutning har samma testanvändar-ID eller IP-adress är det troligt att klienten skapar fler anslutningar än förväntat. Kontrollera klientkoden för att hitta källan till de extra anslutningarna.
Auktoriseringen misslyckades
Om du får 401 Obehörig returnerad för klientbegäranden kontrollerar du dina resursloggar. Om du hittar Failed to validate audience. Expected Audiences: <valid audience>. Actual Audiences: <actual audience>
innebär det att alla målgrupper i din åtkomsttoken är ogiltiga. Prova att använda de giltiga målgrupper som föreslås i loggen.
Strypning
Om du upptäcker att du inte kan upprätta klientanslutningar till Azure Web PubSub-tjänsten kontrollerar du dina resursloggar. Om du ser Connection count reaches limit
i resursloggen har du upprättat för många anslutningar till Azure Web PubSub-tjänsten och nått gränsen för antal anslutningar. Överväg att skala upp din Azure Web PubSub-tjänstinstans.
Om du ser Message count reaches limit
i resursloggen och du använder den kostnadsfria nivån innebär det att du har förbrukat kvoten för meddelanden. Om du vill skicka fler meddelanden kan du överväga att ändra din Azure Web PubSub-tjänstinstans till standardnivå. Mer information finns i Priser för Azure Web PubSub.