Ř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í, zasílání zpráv a požadavky HTTP.
- Protokoly připojení 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
Přejděte na web Azure Portal a stránku služby SignalR.
V nabídce vlevo v části Monitorování vyberte Nastavení živého trasování.
Vyberte Povolit živé trasování.
Vyberte tlačítko Uložit . Změny se projeví na chvíli.
Po dokončení aktualizace vyberte Otevřít nástroj Živé trasování.
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ě
- Přejděte na web Azure Portal a stránku služby SignalR.
- Vyberte Řízení přístupu (IAM) .
- Na nové stránce klikněte na +Přidat a potom klikněte na Přiřazení role.
- 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ší.
- Na stránce Členové klikněte na +Vybrat členy.
- Na novém panelu vyhledejte a vyberte členy a klepněte na tlačítko Vybrat.
- 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í
Přejděte na web Azure Portal a stránku služby SignalR.
V nabídce vlevo v části Monitorování vyberte Nastavení živého trasování.
Vyberte Povolit živé trasování.
Vyberte tlačítko Uložit . Změny se projeví na chvíli.
Po dokončení aktualizace vyberte Otevřít nástroj Živé trasování.
Přihlásit se pomocí účtu Microsoft
- 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.
- 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í.
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 |
Zpráva | 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í | 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.
Přejděte na Azure Portal.
Na stránce Nastavení diagnostiky instance služby Azure Web PubSub vyberte + Přidat nastavení diagnostiky.
Do pole Název nastavení diagnostiky zadejte název nastavení.
V podrobnostech o kategorii vyberte libovolnou kategorii protokolu, kterou potřebujete.
V podrobnostech cíle zaškrtněte možnost Archiv do účtu úložiště.
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 ID
Date 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 |
location | 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: Connection Authorization 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:
- Na stránce Nastavení diagnostiky v části Podrobnosti o cíli vyberte **Odeslat do pracovního prostoru služby Log Analytics.
- Vyberte předplatné, které chcete použít.
- Vyberte pracovní prostor služby Log Analytics, který chcete použít jako cíl protokolů.
Pokud chcete zobrazit protokoly prostředků, postupujte takto:
Vyberte
Logs
v cílové službě Log Analytics.Zadejte
WebPubSubConnectivity
neboWebPubSubMessaging
WebPubSubHttpRequest
a 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.
Pokud chcete použít ukázkový dotaz pro službu SignalR, postupujte podle následujících kroků.
- Vyberte
Logs
v cílové službě Log Analytics. - Výběrem
Queries
otevřete Průzkumníka dotazů. - Výběrem
Resource type
seskupíte ukázkové dotazy v typu prostředku. - Vyberte
Run
, pokud chcete skript spustit.
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: Connection Authorization aThrottling |
OperationName | Název operace události |
Umístění | Umístění služby Azure SignalR |
Level | Úroveň událostí protokolu |
CallerIpAddress | IP adresa vašeho serveru nebo klienta |
Zpráva | 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 | Počet připojení 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.