Övervaka schemalagda händelser för dina virtuella Azure-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 säkra och uppdaterade. 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 hjälp av direktmigrering, minnesbevarande uppdateringar och generellt en strikt spärr för effekterna av uppdateringar är dessa händelser i de flesta fall nästan transparenta för kunderna, och de har ingen inverkan eller orsakar högst några sekunders frysning av virtuella datorer. Men för vissa program kan ä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 smidigt sätt.

I den här artikeln visar vi 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.

Dirigera 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 meddelanden om schemalagt underhåll och utföra åtgärder, till exempel 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 för Azure-underhållshändelser.

I den här artikeln går vi igenom hur du registrerar schemalagda underhållshändelser 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ändelseaggregering 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. Vi kommer att köra en tjänst som avsöker schemalagda händelser på en av de virtuella datorer som ska fungera 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 .zip-filen 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

Tjänsten börjar nu avsökningen var tionde 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. Observera att du kan utöka skriptet för att utlösa vissa åtgärder innan du godkänner händelsen.

Verifiera tjänstens status och kontrollera att den körs.

.\SchService.ps1 -status  

Detta bör returnera Running.

Tjänsten börjar nu avsökningen var tionde 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 tjänsten Schedule Event 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 Programloggar 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 loggen med händelsestatus, händelsetyp, resurser (VM-namn) och NotBefore (minsta uppsägningstid). Du kan hitta händelserna med ID 1234 i programhändelseloggen.

Anteckning

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 log analytics-arbetsytan.

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 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 händelseloggsamlingen för att samla in programloggarna från den virtuella insamlard virtuella datorn.

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.

  1. Öppna sidan för arbetsytan som du skapade.

  2. Under Anslut till en datakälla väljer du Virtuella Azure-datorer (VM).

    Ansluta till en virtuell dator som en datakälla

  3. Sök efter och välj myCollectorVM.

  4. På den nya sidan för myCollectorVM väljer du Anslut.

Då installeras Microsoft Monitoring-agenten på den virtuella datorn. Det tar några minuter att ansluta den virtuella datorn till arbetsytan och installera tillägget.

Konfigurera arbetsytan

  1. Öppna sidan för arbetsytan och välj Avancerade inställningar.

  2. Välj Data på den vänstra menyn och välj sedan Windows-händelseloggar.

  3. I Samla in från följande händelseloggar börjar du skriva programmet och väljer sedan Program i listan.

    Välj Avancerade inställningar

  4. Låt FEL, VARNING och INFORMATION vara markerade och välj sedan Spara för att spara inställningarna.

Anteckning

Det blir 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 schemahändelserna.

  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 ange ogQuery sedan namnet, lämna Frågan som typ, skriv VMLogs kategori och välj sedan Spara.

    Spara frågan

  3. Välj Ny aviseringsregel.

  4. På sidan Skapa regel lämnar du collectorworkspaceresursen.

  5. Under Villkor väljer du posten När kundloggsökningen är <odefinierad> 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 Email i ÅTGÄRDSNAMN och väljer sedan Email/SMS/Push/Voice. Sidan Email/SMS/Push/Voice öppnas.

  12. Välj Email, 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 Email aviseringsregel för beskrivningen.

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

  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.