Sdílet prostřednictvím


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

Platí pro: Virtuální počítače ✔️ s Windows ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️

Aktualizace se použijí na různé části Azure každý den, aby byly služby spuštěné v nich zabezpečené a aktuální. Kromě plánovaných aktualizací může dojít i k neplánovaným událostem. Pokud se například zjistí nějaké snížení výkonu hardwaru nebo selhání, může být potřeba, aby služby Azure prováděly neplánovanou údržbu. Použití migrace za provozu, zachování paměti a obecně zachování striktního pruhu na dopad aktualizací, ve většině případů jsou tyto události téměř transparentní pro zákazníky a nemají žádný dopad nebo většinou způsobují zablokování virtuálního počítače. U některých aplikací ale může dojít k ovlivnění i několika sekund zablokování virtuálního počítače. Znalost nadcházející údržby Azure je důležitá, aby se zajistilo co nejlepší prostředí pro tyto aplikace. Služba naplánovaných událostí poskytuje programové rozhraní, které vás informuje o nadcházející údržbě a umožňuje řádné zpracování údržby.

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 ovlivnit vaše virtuální počítače, a vytvořit základní automatizaci, která může pomoct s monitorováním a analýzou.

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

Plánované události jsou k dispozici jako součást služby Azure Instance Metadata Service, která je dostupná na každém virtuálním počítači Azure. Zákazníci můžou napsat automatizaci pro dotazování koncového bodu svých virtuálních počítačů, aby našli oznámení o plánované údržbě a prováděli zmírnění rizik, jako je uložení stavu a ukončení rotace virtuálního počítače. Doporučujeme vytvářet automatizaci pro zaznamenávání naplánovaných událostí, abyste mohli mít protokol auditování událostí údržby Azure.

V tomto článku vás provedeme zachycením naplánovaných událostí údržby do Log Analytics. Pak aktivujeme některé základní akce oznámení, jako je odeslání e-mailu 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 mít vliv na kterýkoli z virtuálních 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, a získá tak události pro všechny ostatní virtuální počítače ve skupině dostupnosti.

Neodstraňovat skupinu prostředků skupiny 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č, který se nazývá myCollectorVM, ve 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 myCollectorVM a 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 obsahující SchService.ps1napří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 dotazovat každých 10 sekund pro všechny plánované události a schválí události, aby urychlila údržbu. Ukotvit, Restartovat, Znovu nasadit a Preempt jsou události zachycené událostmi plánu. Nezapomeňte, že skript můžete rozšířit tak, aby před schválením události aktivoval určitá omezení rizik.

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

.\SchService.ps1 -status  

To by mělo vrátit Running.

Služba teď začne dotazovat každých 10 sekund pro všechny plánované události a schválí události, aby urychlila údržbu. Ukotvit, Restartovat, Znovu nasadit a Preempt jsou události zachycené událostmi plánu. Skript můžete rozšířit tak, aby před schválením události aktivoval určitá omezení rizik.

Pokud služba plánovače událostí zaznamená některou z výše uvedených událostí, zaprotokoluje se do protokolu událostí protokolu událostí aplikace, typu události, prostředků (názvů virtuálních počítačů) a notBefore (minimální období oznámení). Události s ID 1234 můžete vyhledat v protokolu událostí aplikace.

Jakmile je služba nastavená a spuštěná, protokoluje 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 měli byste vidět, že se událost protokoluje v prohlížeči událostí v protokolu aplikace protokolů > Systému Windows zobrazující restartování virtuálního počítače.

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

Když služba událostí plánovače zaznamenává události, zaprotokoluje se do protokolu i aplikace se stavem události, typem události, prostředky (název virtuálního počítače) a NotBefore (minimální období oznámení). Události s ID 1234 můžete vyhledat 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 prostoru pro analýzu protokolů. 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 připojit jednotlivě k pracovnímu prostoru služby Log Analytics.

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

Kdykoli můžete službu naplánovaných událostí 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í tak, aby zaznamenávaly protokoly aplikací z virtuálního počítače kolektoru.

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

  1. Otevřete stránku pro pracovní prostor, 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 zdroje 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 Collect from the following event logs, start typeing application and then select Application from the list.

    Výběr upřesňujícího nastavení

  4. Ponechte vybranou možnost CHYBA, UPOZORNĚNÍ a INFORMACE a pak nastavení uložte výběrem možnosti Uložit .

Poznámka:

Zpoždění bude trvat až 10 minut, než bude protokol k dispozici.

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

Jakmile se události nasdílí do Log Analytics, můžete spustit následující dotaz a vyhledat události plánu.

  1. V horní části stránky vyberte Protokoly a vložte do textového pole 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 zadejte ogQuery název, ponechte dotaz jako typ, zadejte VMLogs jako kategorii a pak vyberte Uložit.

    Uložení dotazu

  3. Vyberte Nové pravidlo upozornění.

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

  5. V části Podmínka vyberte položku Vždy, když prohledávání protokolu zákazníka není <definováno>. Otevře se stránka Konfigurovat logiku signálu .

  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. Ve skupině prostředků vyberte myResourceGroupAvailability.

  11. V části Akce zadejte v části NÁZEV AKCE e-mail a pak vyberte e-mail, SMS, nabízení a hlas. Otevře se stránka Email/SMS/Push/Voice .

  12. Vyberte E-mail, zadejte e-mailovou adresu a pak vyberte OK.

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

  14. Na stránce Vytvořit pravidlo zadejte v části PODROBNOSTI VÝSTRAHY název pravidla upozornění myAlert a zadejte pravidlo e-mailové výstrahy pro popis.

  15. Až budete hotovi, 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 získat e-mail, který se aktivoval.

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

Další kroky

Další informace najdete na stránce služby Naplánované události na GitHubu.