Dela via


Ö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.

Diagram som visar händelselivscykeln

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
  1. Ladda ned installationen .zip filen för projektet från GitHub.

  2. 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
    
  3. Starta tjänsten.

    .\SchService.ps1 -Start
    
  4. 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.

Skärmbild av loggboken.

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

  1. Öppna Azure-portalen.

  2. I sökfältet längst upp skriver du Log Analytics-arbetsytor och väljer dem i sökresultaten.

  3. Välj den arbetsyta som du skapade för att öppna sidan.

  4. Under Inställningar väljer du Agenter och klickar sedan på Virtuella datorer.

  5. Under fliken Windows-servrar klickar du på Regler för datainsamling.

  6. Ange fliken Samla in och leverera och klicka på Lägg till datakällaSkärmbild av fliken Samla in och leverera med en tom datakälla.

  7. Under fliken Datakälla väljer du Windows-händelseloggar i listrutan.

  8. Välj de händelseloggar som du vill samla in. Kontrollera att FEL, VARNING och INFORMATION är markerade. Skärmbild av fliken Lägg till datakälla med flera markerade kryssrutor.

  9. Klicka på Nästa: Mål >

  10. Under fliken Mål klickar du på Lägg till mål.

  11. Fyll i avsnitten Måltyp, Prenumeration och Målinformation med den virtuella insamlarens virtuella dator och dess prenumerationsinformation. Skärmbild av fliken Mål med information om typ, prenumeration och mål.

  12. 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.

  1. 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
    
  2. Välj Spara och skriv ogQuery sedan som namn, lämna Frågan som typ, skriv VMLogs som Kategori och välj sedan Spara.

    Spara frågan

  3. Välj Ny aviseringsregel.

  4. På sidan Skapa regel lämnar du collectorworkspace resursen.

  5. Under Villkor väljer du posten När kundloggsökningen är <odefinierad> för inloggning. Sidan Konfigurera signallogik öppnas.

  6. Under Tröskelvärde anger du 0 och väljer sedan Klar.

  7. Under Åtgärder väljer du Skapa åtgärdsgrupp. Sidan Lägg till åtgärdsgrupp öppnas.

  8. I Namn på åtgärdsgrupp skriver du myActionGroup.

  9. I Kort namn skriver du myActionGroup.

  10. I Resursgrupp väljer du myResourceGroupAvailability.

  11. 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.

  12. Välj E-post, skriv in din e-postadress och välj sedan OK.

  13. På sidan Lägg till åtgärdsgrupp väljer du OK.

  14. På sidan Skapa regel under AVISERINGSINFORMATION skriver du myAlert som aviseringsregelnamn och skriver sedan E-postaviseringsregel för Beskrivning.

  15. När du är klar väljer du Skapa varningsregel.

  16. 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.