Övervaka schemalagda händelser för dina virtuella Windows-datorer
Gäller för: Virtuella datorer med virtuella Windows-datorer ✔️ ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar
Uppdateringar tillämpas på olika delar av Azure varje dag för att hålla tjänsterna igång på dem på ett säkert och uppdaterat sätt. Förutom planerade uppdateringar kan oplanerade händelser också inträffa. Om till exempel någon maskinvaruförsämring eller ett fel upptäcks kan Azure-tjänster behöva utföra oplanerat underhåll. Med direktmigrering, minnesbevarande uppdateringar och en strikt gräns för effekten av uppdateringar kan dessa händelser vara nästan transparenta för kunderna. Som mest kan de orsaka några sekunders frysning av virtuella datorer. För vissa program kan dock även några sekunders frysning av virtuella datorer orsaka en inverkan. Att veta i förväg om kommande Azure-underhåll är viktigt för att säkerställa den bästa upplevelsen för dessa program. Med tjänsten Schemalagda händelser får du ett programmatiskt gränssnitt som meddelar dig om kommande underhåll och gör att du kan hantera underhållet på ett korrekt sätt.
Den här artikeln visar hur du kan använda schemalagda händelser för att meddelas om underhållshändelser som kan påverka dina virtuella datorer och skapa grundläggande automatisering som kan hjälpa dig med övervakning och analys.
Routning av schemalagda händelser till Log Analytics
Schemalagda händelser är tillgängliga som en del av Azure Instance Metadata Service, som är tillgänglig på varje virtuell Azure-dator. Kunder kan skriva automatisering för att fråga slutpunkten för sina virtuella datorer för att hitta schemalagda underhållsmeddelanden och utföra åtgärder, som att spara tillståndet och ta den virtuella datorn ur rotation. Vi rekommenderar att du skapar automatisering för att registrera schemalagda händelser så att du kan ha en granskningslogg över Azure-underhållshändelser.
I den här artikeln går vi igenom hur du samlar in schemalagda händelser för underhåll till Log Analytics. Sedan utlöser vi några grundläggande meddelandeåtgärder, till exempel att skicka ett e-postmeddelande till ditt team och få en historisk vy över alla händelser som har påverkat dina virtuella datorer. För händelsesammansättning och automatisering använder vi Log Analytics, men du kan använda valfri övervakningslösning för att samla in dessa loggar och utlösa automatisering.
Förutsättningar
I det här exemplet måste du skapa en virtuell Windows-dator i en tillgänglighetsuppsättning. Schemalagda händelser ger meddelanden om ändringar som kan påverka någon av de virtuella datorerna i din tillgänglighetsuppsättning, molntjänst, vm-skalningsuppsättning eller fristående virtuella datorer. En tjänst körs som söker efter schemalagda händelser på en av de virtuella datorer som fungerar som insamlare för att hämta händelser för alla andra virtuella datorer i tillgänglighetsuppsättningen.
Ta inte bort gruppresursgruppen i slutet av självstudien.
Du måste också skapa en Log Analytics-arbetsyta som vi använder för att aggregera information från de virtuella datorerna i tillgänglighetsuppsättningen.
Konfigurera miljön
Du bör nu ha två inledande virtuella datorer i en tillgänglighetsuppsättning. Nu måste vi skapa en tredje virtuell dator med namnet myCollectorVM
, i samma tillgänglighetsuppsättning.
New-AzVm `
-ResourceGroupName "myResourceGroupAvailability" `
-Name "myCollectorVM" `
-Location "East US" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-OpenPorts 3389 `
-PublicIpAddressName "myPublicIpAddress3" `
-AvailabilitySetName "myAvailabilitySet" `
-Credential $cred
Ladda ned installationen .zip filen för projektet från GitHub.
Anslut till myCollectorVM och kopiera filen .zip till den virtuella datorn och extrahera alla filer. Öppna en PowerShell-prompt på den virtuella datorn. Flytta uppmaningen till mappen som innehåller
SchService.ps1
, till exempel:PS C:\Users\azureuser\AzureScheduledEventsService-master\AzureScheduledEventsService-master\Powershell>
och konfigurera tjänsten..\SchService.ps1 -Setup
Starta tjänsten.
.\SchService.ps1 -Start
Verifiera tjänstens status och kontrollera att den körs.
.\SchService.ps1 -status
Valideringskommandot ska returnera
Running
.
Tjänsten börjar nu avsöka var 10:e sekund för alla schemalagda händelser och godkänner händelserna för att påskynda underhållet. Freeze, Reboot, Redeploy och Preempt är de händelser som fångas av schemahändelser. Du kan utöka skriptet för att utlösa vissa åtgärder innan du godkänner händelsen.
När någon av ovanstående händelser registreras av Schedule Event Service loggas den i händelsestatus för programhändelseloggen, händelsetyp, resurser (namn på virtuella datorer) och NotBefore (minsta uppsägningstid). Du kan hitta händelserna med ID 1234 i programhändelseloggen.
När tjänsten har konfigurerats och startats loggas händelser i Windows-programloggarna. Kontrollera att detta fungerar genom att starta om en av de virtuella datorerna i tillgänglighetsuppsättningen och du bör se en händelse som loggas i Loggboken i programloggen > för Windows-loggar som visar att den virtuella datorn har startats om.
När händelser registreras av tjänsten Schemalägg händelse loggas den i programmet även med händelsestatus, händelsetyp, resurser (VM-namn) och NotBefore (minsta uppsägningstid). Du kan hitta händelserna med ID 1234 i programhändelseloggen.
Kommentar
I det här exemplet fanns de virtuella datorerna i en tillgänglighetsuppsättning, vilket gjorde det möjligt för oss att utse en enda virtuell dator som insamlare för att lyssna och dirigera schemalagda händelser till vårt log analytics-arbetsutrymme. Om du har fristående virtuella datorer kan du köra tjänsten på varje virtuell dator och sedan ansluta dem individuellt till din log analytics-arbetsyta.
För vår konfiguration valde vi Windows, men du kan utforma en liknande lösning i Linux.
När som helst kan du stoppa/ta bort den schemalagda händelsetjänsten med hjälp av växlarna –stop
och –remove
.
Ansluta till Log Analytics-arbetsytan
Nu vill vi ansluta en Log Analytics-arbetsyta till den virtuella insamlarens virtuella dator. Log Analytics-arbetsytan fungerar som en lagringsplats och vi konfigurerar insamling av händelseloggar för att samla in programloggarna från den virtuella insamlarens virtuella dator.
Om du vill dirigera schemalagda händelser till händelseloggen, som sparas som programlogg av vår tjänst, måste du ansluta den virtuella datorn till Log Analytics-arbetsytan.
Konfigurera datainsamling
Öppna Azure-portalen.
I sökfältet längst upp skriver du Log Analytics-arbetsytor och väljer dem i sökresultaten.
Välj den arbetsyta som du skapade för att öppna sidan.
Under Inställningar väljer du Agenter och klickar sedan på Virtuella datorer.
Under fliken Windows-servrar klickar du på Regler för datainsamling.
Ange fliken Samla in och leverera och klicka på Lägg till datakälla
Under fliken Datakälla väljer du Windows-händelseloggar i listrutan.
Välj de händelseloggar som du vill samla in. Kontrollera att FEL, VARNING och INFORMATION är markerade.
Klicka på Nästa: Mål >
Under fliken Mål klickar du på Lägg till mål.
Fyll i avsnitten Måltyp, Prenumeration och Målinformation med den virtuella insamlarens virtuella dator och dess prenumerationsinformation.
När du har valt rätt virtuell dator installeras Microsoft Monitoring-agenten automatiskt på den virtuella datorn. Det tar några minuter att ansluta den virtuella datorn till arbetsytan och installera tillägget.
Kommentar
Det finns en viss fördröjning och det kan ta upp till 10 minuter innan loggen är tillgänglig.
Skapa en aviseringsregel med Azure Monitor
När händelserna har push-överförts till Log Analytics kan du köra följande fråga för att leta efter schemat Händelser.
Längst upp på sidan väljer du Loggar och klistrar in följande i textrutan:
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
Välj Spara och skriv
ogQuery
sedan som namn, lämna Frågan som typ, skrivVMLogs
som Kategori och välj sedan Spara.Välj Ny aviseringsregel.
På sidan Skapa regel lämnar du
collectorworkspace
resursen.Under Villkor väljer du posten När kundloggsökningen är <odefinierad> för inloggning. Sidan Konfigurera signallogik öppnas.
Under Tröskelvärde anger du 0 och väljer sedan Klar.
Under Åtgärder väljer du Skapa åtgärdsgrupp. Sidan Lägg till åtgärdsgrupp öppnas.
I Namn på åtgärdsgrupp skriver du myActionGroup.
I Kort namn skriver du myActionGroup.
I Resursgrupp väljer du myResourceGroupAvailability.
Under Åtgärder skriver du E-post i ÅTGÄRDSNAMN och väljer sedan E-post/SMS/Push/Röst. Sidan E-post/SMS/push/röst öppnas.
Välj E-post, skriv in din e-postadress och välj sedan OK.
På sidan Lägg till åtgärdsgrupp väljer du OK.
På sidan Skapa regel under AVISERINGSINFORMATION skriver du myAlert som aviseringsregelnamn och skriver sedan E-postaviseringsregel för Beskrivning.
När du är klar väljer du Skapa varningsregel.
Starta om en av de virtuella datorerna i tillgänglighetsuppsättningen. Inom några minuter bör du få ett e-postmeddelande om att aviseringen har utlösts.
Om du vill hantera dina aviseringsregler går du till resursgruppen, väljer Aviseringar på den vänstra menyn och väljer sedan Hantera aviseringsregler överst på sidan.
Nästa steg
Mer information finns på sidan schemalagda händelser på GitHub.