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í.
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.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 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.
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.
Otevřete stránku pro pracovní prostor, který jste vytvořili.
V části Připojit ke zdroji dat vyberte virtuální počítače Azure .
Vyhledejte a vyberte myCollectorVM.
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
Otevřete stránku pracovního prostoru a vyberte Upřesnit nastavení.
V nabídce vlevo vyberte Data a pak vyberte Protokoly událostí systému Windows.
V části Collect from the following event logs, start typeing application and then select Application from the list.
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.
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
Vyberte Uložit a zadejte
ogQuery
název, ponechte dotaz jako typ, zadejteVMLogs
jako kategorii a pak vyberte Uložit.Vyberte Nové pravidlo upozornění.
Na stránce Vytvořit pravidlo ponechte
collectorworkspace
prostředek.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 .
V části Prahová hodnota zadejte 0 a pak vyberte Hotovo.
V části Akce vyberte Vytvořit skupinu akcí. Otevře se stránka Přidat skupinu akcí.
Do pole Název skupiny akcí zadejte myActionGroup.
Do pole Krátký název zadejte myActionGroup.
Ve skupině prostředků vyberte myResourceGroupAvailability.
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 .
Vyberte E-mail, zadejte e-mailovou adresu a pak vyberte OK.
Na stránce Přidat skupinu akcí vyberte OK.
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.
Až budete hotovi, vyberte Vytvořit pravidlo upozornění.
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.