Řešení potíží s protokoly prostředků

Tento průvodce postupy poskytuje přehled protokolů prostředků Azure Web PubSub a několik tipů pro použití protokolů k řešení určitých problémů. Protokoly se dají použít k identifikaci problému, sledování připojení, trasování zpráv, trasování požadavků HTTP a analýze.

Co jsou protokoly prostředků?

Existují tři typy protokolů prostředků: Připojení ivity, zasílání zpráv a požadavků HTTP.

  • protokoly Připojení ivity poskytují podrobné informace o připojeních centra Azure Web PubSub. Například základní informace (ID uživatele, ID připojení atd.) a informace o události (připojení, odpojení atd.).
  • Protokoly zasílání zpráv poskytují informace o trasování zpráv pro zprávy centra Azure Web PubSub přijaté a odeslané prostřednictvím služby Azure Web PubSub. Například ID trasování a typ zprávy.
  • Protokoly požadavků HTTP poskytují trasovací informace pro požadavky HTTP do služby Azure Web PubSub. Například metoda HTTP a stavový kód. Požadavek HTTP se obvykle zaznamená, když dorazí do služby nebo z ní odejde.

Zachycení protokolů prostředků pomocí nástroje živého trasování

Nástroj živého trasování služby Azure Web PubSub umožňuje shromažďovat protokoly prostředků v reálném čase, což je užitečné při řešení problémů ve vašem vývojovém prostředí. Nástroj živého trasování může zaznamenávat protokoly připojení, protokoly zasílání zpráv a protokoly požadavků HTTP.

Poznámka:

Následující aspekty platí pro použití nástroje pro živé trasování:

  • Protokoly prostředků v reálném čase zachycené nástrojem pro sledování za provozu se budou účtovat jako zprávy (odchozí provoz).
  • Nástroj živého trasování v současné době nepodporuje autorizaci Microsoft Entra. Abyste mohli živé trasování používat, musíte povolit přístupové klíče. V části Nastavení vyberte Klíče a pak povolte přístupový klíč.
  • Instance úrovně Free služby Azure Web PubSub má denní limit 20 000 zpráv (odchozí provoz). Živé trasování může způsobit neočekávané dosažení denního limitu.

Spuštění nástroje živého trasování

Poznámka:

Když povolíte přístupový klíč, použijete přístupový token k ověření nástroje pro živé trasování. V opačném případě použijete id Microsoft Entra k ověření nástroje pro živé trasování. Můžete zkontrolovat, jestli na stránce Klíče služby SignalR na webu Azure Portal povolíte přístupový klíč nebo ne.

Kroky pro povolení přístupového klíče

  1. Přejděte na web Azure Portal a stránku služby SignalR.

  2. V nabídce vlevo v části Monitorování vyberte Nastavení živého trasování.

  3. Vyberte Povolit živé trasování.

  4. Vyberte tlačítko Uložit . Změny se projeví na chvíli.

  5. Po dokončení aktualizace vyberte Otevřít nástroj Živé trasování.

    Screenshot of launching the live trace tool.

Postup pro zakázání přístupového klíče

Přiřazení oprávnění rozhraní API nástroje živého trasování sobě

  1. Přejděte na web Azure Portal a stránku služby SignalR.
  2. Vyberte Řízení přístupu (IAM) .
  3. Na nové stránce klikněte na +Přidat a potom klikněte na Přiřazení role.
  4. Na nové stránce se zaměřte na kartu Role funkcí úlohy, vyberte roli Vlastník služby SignalR a potom klikněte na Tlačítko Další.
  5. Na stránce Členové klikněte na +Vybrat členy.
  6. Na novém panelu vyhledejte a vyberte členy a klepněte na tlačítko Vybrat.
  7. Klikněte na Zkontrolovat a přiřadit a počkejte na oznámení o dokončení.

Navštivte nástroj živého trasování

  1. Přejděte na web Azure Portal a stránku služby SignalR.

  2. V nabídce vlevo v části Monitorování vyberte Nastavení živého trasování.

  3. Vyberte Povolit živé trasování.

  4. Vyberte tlačítko Uložit . Změny se projeví na chvíli.

  5. Po dokončení aktualizace vyberte Otevřít nástroj Živé trasování.

    Screenshot of launching the live trace tool.

Přihlásit se pomocí účtu Microsoft

  1. Nástroj živého trasování zobrazí přihlašovací okno Microsoftu. Pokud se nezobrazuje žádné okno, zkontrolujte a povolte automaticky otevíraná okna v prohlížeči.
  2. Počkejte na zobrazení Připraveno na stavovém řádku.

Zachycení protokolů prostředků

Nástroj živého trasování poskytuje funkce, které vám pomůžou zachytit protokoly prostředků pro řešení potíží.

  • Zachytávání: Začněte zaznamenávat protokoly prostředků v reálném čase z azure Web PubSub.
  • Vymazat: Vymažte zachycené protokoly prostředků v reálném čase.
  • Filtr protokolu: Nástroj živého trasování umožňuje filtrovat zachycené protokoly prostředků v reálném čase pomocí jednoho konkrétního klíčového slova. Běžné oddělovače (například mezera, čárka, středník atd.) budou považovány za součást klíčového slova.
  • Stav: Stav zobrazuje, jestli je nástroj živého trasování připojený nebo odpojený s konkrétní instancí.

Screenshot of capturing resource logs with live trace tool.

Protokoly prostředků v reálném čase zachycené nástrojem pro živé trasování obsahují podrobné informace pro řešení potíží.

Název Popis
Time Protokolovat čas události
Úroveň protokolu Úroveň událostí protokolu může být [Trasování | Ladění | Informační | Upozornění | Chyba]
Název události Název operace události
Message Podrobná zpráva o události
Výjimka Výjimka za běhu služby Azure Web PubSub
Centrum Uživatelsky definovaný název centra
ID Připojení ion Identita připojení
ID uživatele Identita uživatele
IP IP adresa klienta
Šablona trasy Šablona trasy rozhraní API
Http – metoda Metoda HTTP (POST/GET/PUT/DELETE)
Adresa URL Lokátor jednotného prostředku
ID trasování Jedinečný identifikátor vyvolání
Kód stavu Kód odpovědi HTTP
Doba trvání Doba trvání mezi přijetím žádosti a zpracováním žádosti
Hlavičky Další informace předávané klientem a serverem s požadavkem nebo odpovědí HTTP

Zachycení protokolů prostředků pomocí služby Azure Monitor

Povolení protokolů prostředků

Azure Web PubSub v současné době podporuje integraci se službou Azure Storage.

  1. Přejděte na Azure Portal.

  2. Na stránce Nastavení diagnostiky instance služby Azure Web PubSub vyberte + Přidat nastavení diagnostiky. Screenshot of viewing diagnostic settings and create a new one

  3. Do pole Název nastavení diagnostiky zadejte název nastavení.

  4. V podrobnostech o kategorii vyberte libovolnou kategorii protokolu, kterou potřebujete.

  5. V podrobnostech cíle zaškrtněte možnost Archiv do účtu úložiště.

    Screenshot of configuring diagnostic setting detail

  6. Výběrem možnosti Uložit uložte nastavení diagnostiky.

    Poznámka:

    Účet úložiště by měl být ve stejné oblasti jako služba Azure Web PubSub.

Archivace do účtu služby Azure Storage

Protokoly se ukládají v účtu úložiště, který je nakonfigurovaný v podokně nastavení diagnostiky. Kontejner s názvem insights-logs-<CATEGORY_NAME> se vytvoří automaticky pro ukládání protokolů prostředků. V kontejneru jsou protokoly uloženy v souboru 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. Cesta se zkombinuje a resource IDDate Time. Soubory protokolu jsou rozděleny podle hour. Hodnota minuty je vždy m=00.

Všechny protokoly se ukládají ve formátu JSON (JavaScript Object Notation). Každá položka obsahuje pole řetězců, která používají formát popsaný v následujících částech.

Řetězce JSON protokolu archivu obsahují prvky uvedené v následujících tabulkách:

Formát

Název Popis
čas Protokolovat čas události
úroveň Úroveň událostí protokolu
resourceId ID prostředku vaší služby Azure SignalR
umístění Umístění služby Azure SignalR
category Kategorie události protokolu
operationName Název operace události
callerIpAddress IP adresa vašeho serveru nebo klienta
vlastnosti Podrobné vlastnosti související s touto událostí protokolu Další podrobnosti najdete v následující tabulce vlastností.

Tabulka vlastností

Název Popis
– kolekce Shromažďování události protokolu. Povolené hodnoty jsou: ConnectionAuthorization aThrottling
connectionId Identita připojení
userId Identita uživatele
zpráva Podrobná zpráva o události protokolu
Rozbočovač Uživatelsky definovaný název centra
routeTemplate Šablona trasy rozhraní API
httpMethod Metoda HTTP (POST/GET/PUT/DELETE)
url Lokátor jednotného prostředku
traceId Jedinečný identifikátor vyvolání
statusCode Kód odpovědi HTTP
doba trvání Doba trvání mezi žádostí je přijata a zpracována.
záhlaví Další informace předávané klientem a serverem s požadavkem nebo odpovědí HTTP

Následující kód je příkladem řetězce JSON protokolu archivu:

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

Archivace do Azure Log Analytics

Odeslání protokolů do pracovního prostoru služby Log Analytics:

  1. Na stránce Nastavení diagnostiky v části Podrobnosti o cíli vyberte **Odeslat do pracovního prostoru služby Log Analytics.
  2. Vyberte předplatné, které chcete použít.
  3. Vyberte pracovní prostor služby Log Analytics, který chcete použít jako cíl protokolů.

Pokud chcete zobrazit protokoly prostředků, postupujte takto:

  1. Vyberte Logs v cílové službě Log Analytics.

    Log Analytics menu item

  2. Zadejte WebPubSubConnectivitynebo WebPubSubMessagingWebPubSubHttpRequesta pak vyberte časový rozsah pro dotazování protokolu. Pokročilé dotazy najdete v tématu Začínáme se službou Log Analytics ve službě Azure Monitor.

    Query log in Log Analytics

Pokud chcete použít ukázkový dotaz pro službu SignalR, postupujte podle následujících kroků.

  1. Vyberte Logs v cílové službě Log Analytics.
  2. Výběrem Queries otevřete Průzkumníka dotazů.
  3. Výběrem Resource type seskupíte ukázkové dotazy v typu prostředku.
  4. Vyberte Run , pokud chcete skript spustit. Sample query in Log Analytics

Sloupce protokolu archivu obsahují prvky uvedené v následující tabulce.

Název Popis
TimeGenerated Protokolovat čas události
Kolekce Shromažďování události protokolu. Povolené hodnoty jsou: ConnectionAuthorization aThrottling
OperationName Název operace události
Poloha Umístění služby Azure SignalR
Level Úroveň událostí protokolu
CallerIpAddress IP adresa vašeho serveru nebo klienta
Message Podrobná zpráva o události protokolu
ID uživatele Identita uživatele
ConnectionId Identita připojení
Typ připojení Typ připojení. Povolené hodnoty jsou: Server | Client. Server: připojení ze strany serveru; Client: připojení ze strany klienta
TransportType Typ přenosu připojení. Povolené hodnoty jsou: Websockets | ServerSentEvents | LongPolling

Řešení potíží s protokoly prostředků

Pokud zjistíte neočekávané změny počtu připojení, a to zvýšením nebo snížením, můžete problém vyřešit pomocí protokolů prostředků. Typické problémy se často týkají neočekávaných změn množství připojení, dosažení limitů připojení a selhání autorizace.

Neočekávané změny počtu připojení

Neočekávané zahození připojení

Pokud se připojení odpojí, protokoly prostředků zaznamenají událost odpojení s ConnectionAborted nebo ConnectionEnded v operationName.

Rozdíl mezi ConnectionAborted a ConnectionEnded je to ConnectionEnded očekávaný odpojení aktivované klientem nebo serverem. ConnectionAborted I když se obvykle jedná o neočekávanou událost vyřazení připojení a důvod odpojení bude uveden v message.

Důvody přerušení jsou uvedené v následující tabulce:

Důvod Popis
počet Připojení dosáhne limitu Připojení počtů dosáhne limitu aktuální cenové úrovně. Zvažte vertikální navýšení kapacity jednotky služby.
Opětovné načítání služby, opětovné připojení Služba Azure Web PubSub se znovu načítá. Musíte implementovat vlastní mechanismus opětovného připojení nebo se ručně znovu připojit ke službě Azure Web PubSub.
Vnitřní přechodná chyba serveru Ve službě Azure Web PubSub dojde k přechodné chybě, měla by se automaticky obnovit.

Neočekávané zvýšení počtu připojení

Když se počet klientských připojení neočekávaně zvýší, je první věcí, kterou je potřeba udělat, vyfiltrovat nadbytečná připojení. Přidejte jedinečné ID testovacího uživatele do připojení testovacího klienta. Pak zkontrolujte protokoly prostředků; Pokud se zobrazí více než jedno připojení klienta se stejným testovacím ID uživatele nebo IP adresou, je pravděpodobné, že klient vytváří více připojení, než se čekalo. Zkontrolujte kód klienta a vyhledejte zdroj dalších připojení.

Selhání autorizace

Pokud se pro požadavky klientů vrátí 401 Neautorizováno, zkontrolujte protokoly prostředků. Pokud zjistíte Failed to validate audience. Expected Audiences: <valid audience>. Actual Audiences: <actual audience>, znamená to, že všechny cílové skupiny ve vašem přístupového tokenu jsou neplatné. Zkuste použít platné cílové skupiny navrhované v protokolu.

Omezování

Pokud zjistíte, že nemůžete navázat připojení klientů ke službě Azure Web PubSub, zkontrolujte protokoly prostředků. Pokud se v protokolu prostředků zobrazí Connection count reaches limit , vytvořili jste příliš mnoho připojení ke službě Azure Web PubSub a dosáhli jste limitu počtu připojení. Zvažte vertikální navýšení kapacity instance služby Azure Web PubSub. Pokud se v protokolu prostředků zobrazí Message count reaches limit a používáte úroveň Free, znamená to, že jste použili kvótu zpráv. Pokud chcete odesílat další zprávy, zvažte změnu instance služby Azure Web PubSub na úroveň Standard. Další informace najdete v tématu Ceny služby Azure Web PubSub.