Diagnostika stavu aplikací ve Windows Azure
Každou aplikaci je nutné jednoho pěkného dne začít monitorovat. Otázka zní, jak se tento zaběhnutý proces změní při přechodu aplikace do cloudu.
Diagnostika stavu aplikací
Pokud jsme ve fázi vývoje aplikace a využíváme tzv. Azure Dev Fabric, lokální emulátor cloudu, diagnostika a ladění aplikací je velice snadné. Pokud aplikaci v Dev Fabricu lokálně spustíte, máme možnost si otevřít konzolová okna jednotlivých pracovních rolí.
Pomocí trasovacího API (umístěno v namespace Microsoft.WindowsAzure.Dignostics, a Microsoft.WindowsAzure.Diagnostics.Management) se zprávy vypisují do trace logu. Podle toho, jak je nastaven konfigurační soubor Azure aplikace (ServiceDefinition.cscfg), se výstup provádí do:
- u Dev Fabric do konzolového okna
- u nasazení v cloudu se zapisuje do Azure Storage
Pomocí Trasovacího API lze vypisovat:
- Adresáře – soubory jakou jsou IIS log, crash dump apod.
- Diagnostické infrastrukturní logy
- Windows Azure logy (volání Trace.Write(), Trace.TraceInformation(), …)
- Performance counters
- Windows Event logy
Standardně jsou výstupy trasování ukládány lokálně na disku každé instance role, web nebo worker. Abychom je mohli ale přečíst, musí se obsah přenést do Azure Storage. Synchronizace se provádí buď na programové vyžádání, nebo pravidelně v definovaných intervalech. Výsledek si pak můžeme prohlédnout např. pomocí volně šiřitelného průzkumníka úložiště Azure Storage Explorer.
Více informací o trasování lze najít například na blogu Neila Mckenzieho a jednoduchý příklad na blogu Sumita Mehrotra.
Závěrem bych ještě rád upozornil, že na internetu lze najít celou řadu článků popisujících již neplatný systém logování využívající volání RoleManager.WriteToLog(). Nenechte se tedy těmito informace zmást. Nový systém diagnostiky je velice jednoduše popsán zde.
Kde je proboha chyba?
Ne vždy musí být chyba na vašem přijímači. Proto je třeba u cloud aplikací zkontrolovat, zda je v pořádku připojení do internetu a dále pak celá cesta do datového centra a dále pak ověřit, jak je na tom datové centrum samotné. První úkol je značně individuální a záleží na ISP, kterého používáte. Podívejme se tedy na druhou část – jak zkontrolovat Microsoft. Pro tento účel jsme připravil Windows Azure Service Dashboad, webovou stránku, na níž se zobrazují aktuální stavy jednotlivých datových center a služeb, které na nich jedou. Jednotlivé stavy jsou publikovány i jako RSS kanály.
Když vše selže
Pokud všechny snahy najít problém, zejména s nasazením během aplikací, selžou, lze zdarma kontaktovat technickou podporu. Postup v tomto případě je následující:
· Přejděte na stránky https://windows.azure.com
· Vyberte si svou aplikaci
· Opište si Deployment ID
· Pod tímto číslem (GUID) je umístěn odkaz „Download Support Information“
· Po kliku na tento odkaz se stáhne jednoduchý textový soubor s detaily o vaší službě
· Odešlete Deployment ID a detaily o službě na technickou podporu