Sdílet prostřednictvím


Monitorování plánovaných událostí pro virtuální počítače Azure

Platí pro: Flexibilní škálovací sady ✔️ virtuálních ✔️ ✔️ počítačů s Windows – Jednotné škálovací sady

Aktualizace se každý den používají v různých částech Azure, aby na nich běžely zabezpečené a aktuální služby. Kromě plánovaných aktualizací může docházet také k neplánovaným událostem. Pokud se například zjistí snížení výkonu nebo selhání hardwaru, služby Azure mohou potřebovat provést neplánovanou údržbu. Použití migrace za provozu, zachování paměti aktualizací a obecně udržování přísného baru z hlediska dopadu aktualizací. Tyto události jsou ve většině případů pro zákazníky téměř transparentní a nemají žádný dopad nebo nanejvýš způsobí několikasekundové zablokování virtuálního počítače. U některých aplikací ale může dojít i k několikasekundovým zablokováním virtuálního počítače. Pro zajištění nejlepšího prostředí pro tyto aplikace je důležité předem vědět o nadcházející údržbě Azure. Služba Scheduled Events poskytuje programové rozhraní pro oznámení o nadcházející údržbě a umožňuje vám bezstarosti ji zpracovat.

V tomto článku si ukážeme, jak můžete pomocí plánovaných událostí dostávat oznámení o událostech údržby, které by mohly mít vliv na vaše virtuální počítače, a vytvořit základní automatizaci, která vám pomůže s monitorováním a analýzou.

Směrování naplánovaných událostí do Log Analytics

Služba Scheduled Events je k dispozici jako součást služby Azure Instance Metadata Service, která je k dispozici na každém virtuálním počítači Azure. Zákazníci můžou napsat automatizaci, která se dotazuje na koncový bod svých virtuálních počítačů, aby našli oznámení o plánované údržbě a provedli zmírnění rizik, jako je uložení stavu a vymanění virtuálního počítače z provozu. Doporučujeme vytvořit automatizaci, která bude zaznamenávat naplánované události, abyste mohli mít protokol auditování událostí údržby Azure.

V tomto článku vás provedeme postupem zachycení plánovaných událostí údržby do Log Analytics. Pak aktivujeme některé základní akce oznámení, jako je odeslání e-mailu vašemu týmu a získání historického zobrazení všech událostí, které ovlivnily vaše virtuální počítače. Pro agregaci a automatizaci událostí použijeme Log Analytics, ale ke shromažďování těchto protokolů a aktivaci automatizace můžete použít jakékoli řešení monitorování.

Diagram znázorňující životní cyklus události

Požadavky

V tomto příkladu budete muset vytvořit virtuální počítač s Windows ve skupině dostupnosti. Plánované události poskytují oznámení o změnách, které můžou ovlivnit jakýkoli virtuální počítač ve vaší skupině dostupnosti, cloudové službě, škálovací sadě virtuálních počítačů nebo samostatných virtuálních počítačích. Spustíme službu , která se dotazuje na naplánované události na jednom z virtuálních počítačů, které budou fungovat jako kolektor, aby získala události pro všechny ostatní virtuální počítače ve skupině dostupnosti.

Skupinu prostředků skupiny neodstraňovat na konci kurzu.

Budete také muset vytvořit pracovní prostor služby Log Analytics , který použijeme k agregaci informací z virtuálních počítačů ve skupině dostupnosti.

Nastavení prostředí

Teď byste měli mít ve skupině dostupnosti 2 počáteční virtuální počítače. Teď potřebujeme vytvořit třetí virtuální počítač s názvem myCollectorVMve stejné skupině dostupnosti.

New-AzVm `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Name "myCollectorVM" `
   -Location "East US" `
   -VirtualNetworkName "myVnet" `
   -SubnetName "mySubnet" `
   -SecurityGroupName "myNetworkSecurityGroup" `
   -OpenPorts 3389 `
   -PublicIpAddressName "myPublicIpAddress3" `
   -AvailabilitySetName "myAvailabilitySet" `
   -Credential $cred

Stáhněte si instalační .zip soubor projektu z GitHubu.

Připojte se k počítači myCollectorVM , zkopírujte soubor .zip do virtuálního počítače a extrahujte všechny soubory. Na virtuálním počítači otevřete příkazový řádek PowerShellu. Přesuňte výzvu do složky, která obsahuje SchService.ps1, například: PS C:\Users\azureuser\AzureScheduledEventsService-master\AzureScheduledEventsService-master\Powershell>, a nastavte službu.

.\SchService.ps1 -Setup

Spusťte službu.

.\SchService.ps1 -Start

Služba teď začne každých 10 sekund dotazovat všechny naplánované události a schválí je, aby se urychlila údržba. Zamrznutí, restartování, opětovné nasazení a vyřazení jsou události zachycené událostmi plánu. Mějte na paměti, že skript můžete rozšířit tak, aby před schválením události aktivovala určitá omezení rizik.

Ověřte stav služby a ujistěte se, že je spuštěná.

.\SchService.ps1 -status  

Mělo by se vrátit Running.

Služba teď začne každých 10 sekund dotazovat všechny naplánované události a schválí je, aby se urychlila údržba. Ukotvení, restartování, opětovné nasazení a vyřazení jsou události zachycené událostmi plánu. Před schválením události můžete skript rozšířit tak, aby aktivovalo některá zmírnění rizik.

Když služba plánování událostí zachytí některou z výše uvedených událostí, zaprotokoluje se do položek Stav událostí protokolu událostí aplikace, Typ události, Prostředky (názvy virtuálních počítačů) a NotBefore (minimální doba oznámení). Události s ID 1234 najdete v protokolu událostí aplikace.

Jakmile je služba nastavena a spuštěna, bude protokolovat události v protokolech aplikací systému Windows. Pokud chcete ověřit, že to funguje, restartujte jeden z virtuálních počítačů ve skupině dostupnosti a v Prohlížeči událostí v protokolu aplikací Windows by > se měla zobrazit událost, která zobrazuje restartování virtuálního počítače.

Snímek obrazovky s prohlížečem událostí

Když služba Schedule Event service zaznamená události, zaprotokoluje se do protokolu aplikace i se stavem událostí, typem události, prostředky (název virtuálního počítače) a notBefore (minimální doba oznámení). Události s ID 1234 najdete v protokolu událostí aplikace.

Poznámka

V tomto příkladu byly virtuální počítače ve skupině dostupnosti, což nám umožnilo určit jeden virtuální počítač jako kolektor pro naslouchání a směrování plánovaných událostí do našeho prostoru pro log Analytics. Pokud máte samostatné virtuální počítače, můžete službu spustit na každém virtuálním počítači a pak je jednotlivě připojit k pracovnímu prostoru služby Log Analytics.

Pro naši instalaci jsme zvolili Windows, ale podobné řešení můžete navrhnout i v Linuxu.

Službu plánovaných událostí můžete kdykoli zastavit nebo odebrat pomocí přepínačů –stop a –remove.

Připojení k pracovnímu prostoru

Teď chceme k virtuálnímu počítači kolektoru připojit pracovní prostor služby Log Analytics. Pracovní prostor služby Log Analytics funguje jako úložiště a nakonfigurujeme shromažďování protokolů událostí pro zachytávání protokolů aplikací z virtuálního počítače kolektoru.

Pokud chcete směrovat naplánované události do protokolu událostí, který naše služba uloží jako aplikační protokol, budete muset připojit virtuální počítač k pracovnímu prostoru služby Log Analytics.

  1. Otevřete stránku pracovního prostoru, který jste vytvořili.

  2. V části Připojit ke zdroji dat vyberte Virtuální počítače Azure.

    Připojení k virtuálnímu počítači jako zdroj dat

  3. Vyhledejte a vyberte myCollectorVM.

  4. Na nové stránce pro myCollectorVM vyberte Připojit.

Tím se na virtuální počítač nainstaluje agent Microsoft Monitoring Agent . Připojení virtuálního počítače k pracovnímu prostoru a instalace rozšíření bude trvat několik minut.

Konfigurace pracovního prostoru

  1. Otevřete stránku pracovního prostoru a vyberte Upřesnit nastavení.

  2. V nabídce vlevo vyberte Data a pak vyberte Protokoly událostí systému Windows.

  3. V části Shromáždit z následujících protokolů událostí začněte psát application a pak v seznamu vyberte Aplikace .

    Vyberte Upřesnit nastavení.

  4. Ponechte vybranou možnost CHYBA, UPOZORNĚNÍ a INFORMACE a pak vyberte Uložit , aby se nastavení uložila.

Poznámka

Dojde k určitému zpoždění a může trvat až 10 minut, než bude protokol k dispozici.

Vytvoření pravidla upozornění pomocí služby Azure Monitor

Po odeslání událostí do Log Analytics můžete spuštěním následujícího dotazu vyhledat naplánované události.

  1. V horní části stránky vyberte Protokoly a do textového pole vložte následující:

    Event
    | where EventLog == "Application" and Source contains "AzureScheduledEvents" and RenderedDescription contains "Scheduled" and RenderedDescription contains "EventStatus" 
    | project TimeGenerated, RenderedDescription
    | extend ReqJson= parse_json(RenderedDescription)
    | extend EventId = ReqJson["EventId"]
    ,EventStatus = ReqJson["EventStatus"]
    ,EventType = ReqJson["EventType"]
    ,NotBefore = ReqJson["NotBefore"]
    ,ResourceType = ReqJson["ResourceType"]
    ,Resources = ReqJson["Resources"]
    | project-away RenderedDescription,ReqJson
    
  2. Vyberte Uložit a pak jako název zadejte ogQuery , jako typ ponechte Dotaz , zadejte VMLogskategorie a pak vyberte Uložit.

    Uložení dotazu

  3. Vyberte Nové pravidlo upozornění.

  4. Na stránce Vytvořit pravidlo ponechte collectorworkspace jako Prostředek.

  5. V části Podmínka vyberte položku Vždy, když je <prohledávání protokolu zákazníka nedefinované>. Otevře se stránka Konfigurovat logiku signálů .

  6. V části Prahová hodnota zadejte 0 a pak vyberte Hotovo.

  7. V části Akce vyberte Vytvořit skupinu akcí. Otevře se stránka Přidat skupinu akcí .

  8. Do pole Název skupiny akcí zadejte myActionGroup.

  9. Do pole Krátký název zadejte myActionGroup.

  10. V části Skupina prostředků vyberte myResourceGroupAvailability.

  11. V části Actions (Akce) do pole ACTION NAME (NÁZEV AKCE) zadejte Email a pak vyberte Email/SMS/Push/Voice. Otevře se stránka Email/SMS/Push/Voice.

  12. Vyberte Email, zadejte svoji e-mailovou adresu a pak vyberte OK.

  13. Na stránce Přidat skupinu akcí vyberte OK.

  14. Na stránce Vytvořit pravidlo v části PODROBNOSTI VÝSTRAHY jako název pravidla upozornění zadejte myAlert a jako Popis zadejte Email pravidlo upozornění.

  15. Po dokončení vyberte Vytvořit pravidlo upozornění.

  16. Restartujte jeden z virtuálních počítačů ve skupině dostupnosti. Během několika minut byste měli dostat e-mail s oznámením, že se upozornění aktivovalo.

Pokud chcete spravovat pravidla upozornění, přejděte do skupiny prostředků, v nabídce vlevo vyberte Upozornění a pak v horní části stránky vyberte Spravovat pravidla upozornění .

Další kroky

Další informace najdete na stránce Služby naplánovaných událostí na GitHubu.