Monitorování plánovaných událostí pro virtuální počítače s Windows
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 zachování přísného limitu dopadu aktualizací, umožňují těmto událostem být téměř transparentní pro zákazníky. Ve většině případů můžou způsobit několik sekund 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á k zajištění co nejlepšího prostředí pro tyto aplikace. Služba Naplánované události poskytuje programové rozhraní, které vám umožní dostávat oznámení o nadcházející údržbě a umožňuje řádné zpracování údržby.
Tento článek ukazuje, 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ěkolik základních akcí 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žíváme 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 potřebujete 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. Služba je spuštěná, která se dotazuje na naplánované události na jednom z virtuálních počítačů, které fungují jako kolektor, a získá události pro všechny ostatní virtuální počítače ve skupině dostupnosti.
Neodstraňovat skupinu prostředků skupiny na konci kurzu.
Musíte také vytvořit pracovní prostor služby Log Analytics, který používáme 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
Ověřte stav služby a ujistěte se, že je spuštěný.
.\SchService.ps1 -status
Ověřovací příkaz by měl 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 služby Log Analytics
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 plánované události do protokolu událostí, který je uložený jako protokol aplikace naší službou, budete muset virtuální počítač připojit k pracovnímu prostoru služby Log Analytics.
Nastavení shromažďování dat
Otevřete Azure Portal.
Na panelu hledání v horní části zadejte pracovní prostory služby Log Analytics a vyberte ho z výsledků hledání.
Zvolte pracovní prostor, který jste vytvořili, a otevřete jeho stránku.
V části Nastavení vyberte Agenti a potom klikněte na Virtuální počítače.
Na kartě Servery s Windows klikněte na Pravidla shromažďování dat.
Zadejte kartu Shromáždit a doručit a klikněte na Přidat zdroj dat.
Na kartě Zdroj dat vyberte v rozevíracím seznamu protokoly událostí systému Windows.
Vyberte protokoly událostí, které chcete shromáždit. Ujistěte se, že jsou vybrány chyby, UPOZORNĚNÍ a INFORMACE .
Klikněte na Další: Cíl >
Na kartě Cíl klikněte na Přidat cíl.
Vyplňte oddíly Podrobnosti o cílovém typu, předplatném a cíli s virtuálním počítačem kolektoru a podrobnostmi o předplatném.
Po výběru správného virtuálního počítače se na virtuální počítač automaticky 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.
Poznámka:
Zpoždění může 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.
Jakmile 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.