Share via


Geplande gebeurtenissen voor uw Azure-VM's bewaken

Van toepassing op: VM's ✔️ Windows-VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets

Updates worden elke dag toegepast op verschillende onderdelen van Azure om de services veilig en up-to-date te houden. Naast geplande updates kunnen ook niet-geplande gebeurtenissen optreden. Als er bijvoorbeeld hardwaredegradatie of -fout wordt gedetecteerd, moeten Azure-services mogelijk ongepland onderhoud uitvoeren. Door gebruik te maken van livemigratie, het geheugen te behouden en over het algemeen een strikte balk te houden voor de impact van updates, zijn deze gebeurtenissen in de meeste gevallen bijna transparant voor klanten en hebben ze geen invloed of veroorzaken ze hoogstens een paar seconden dat virtuele machines vastlopen. Voor sommige toepassingen kan zelfs een paar seconden van het vastlopen van virtuele machines gevolgen hebben. Het is belangrijk om van tevoren te weten te komen over gepland Azure-onderhoud, om de beste ervaring voor deze toepassingen te garanderen. De service Geplande gebeurtenissen biedt u een programmatische interface om op de hoogte te worden gesteld van aanstaand onderhoud en stelt u in staat om het onderhoud probleemloos af te handelen.

In dit artikel laten we zien hoe u geplande gebeurtenissen kunt gebruiken om op de hoogte te worden gesteld van onderhoudsbeurtenissen die van invloed kunnen zijn op uw VM's en bouwen we basisautomatisering die u kan helpen bij bewaking en analyse.

Geplande gebeurtenissen routeren naar Log Analytics

Geplande gebeurtenissen is beschikbaar als onderdeel van de Azure Instance Metadata Service, die beschikbaar is op elke virtuele Azure-machine. Klanten kunnen automatisering schrijven om een query uit te voeren op het eindpunt van hun virtuele machines om meldingen over gepland onderhoud te vinden en oplossingen uit te voeren, zoals het opslaan van de status en het verwijderen van de rotatie van de virtuele machine. We raden u aan automatisering te bouwen om de geplande gebeurtenissen vast te leggen, zodat u een controlelogboek van Azure-onderhoudsevenementen kunt hebben.

In dit artikel wordt uitgelegd hoe u geplande onderhoudsevenementen vastlegt in Log Analytics. Vervolgens activeren we enkele eenvoudige meldingsacties, zoals het verzenden van een e-mail naar uw team en het verkrijgen van een historisch overzicht van alle gebeurtenissen die van invloed zijn geweest op uw virtuele machines. Voor de gebeurtenisaggregatie en automatisering gebruiken we Log Analytics, maar u kunt elke bewakingsoplossing gebruiken om deze logboeken te verzamelen en automatisering te activeren.

Diagram met de levenscyclus van de gebeurtenis

Vereisten

Voor dit voorbeeld moet u een virtuele Windows-machine maken in een beschikbaarheidsset. Geplande gebeurtenissen bieden meldingen over wijzigingen die van invloed kunnen zijn op een van de virtuele machines in uw beschikbaarheidsset, cloudservice, virtuele-machineschaalset of zelfstandige VM's. We voeren een service uit die op geplande gebeurtenissen peilt op een van de VM's die als collector fungeren, om gebeurtenissen op te halen voor alle andere VM's in de beschikbaarheidsset.

Verwijder de groepsresourcegroep niet aan het einde van de zelfstudie.

U moet ook een Log Analytics-werkruimte maken die we gebruiken om informatie van de VM's in de beschikbaarheidsset samen te voegen.

De omgeving instellen

U moet nu 2 initiële VM's in een beschikbaarheidsset hebben. Nu moeten we een derde VM maken, met de naam myCollectorVM, in dezelfde beschikbaarheidsset.

New-AzVm `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Name "myCollectorVM" `
   -Location "East US" `
   -VirtualNetworkName "myVnet" `
   -SubnetName "mySubnet" `
   -SecurityGroupName "myNetworkSecurityGroup" `
   -OpenPorts 3389 `
   -PublicIpAddressName "myPublicIpAddress3" `
   -AvailabilitySetName "myAvailabilitySet" `
   -Credential $cred

Download het installatiebestand .zip van het project van GitHub.

Maak verbinding met myCollectorVM en kopieer het .zip-bestand naar de virtuele machine en pak alle bestanden uit. Open een PowerShell-prompt op uw VM. Verplaats de prompt naar de map met SchService.ps1, bijvoorbeeld: PS C:\Users\azureuser\AzureScheduledEventsService-master\AzureScheduledEventsService-master\Powershell>en stel de service in.

.\SchService.ps1 -Setup

Start de service.

.\SchService.ps1 -Start

De service begint nu elke 10 seconden met polling voor geplande gebeurtenissen en keurt de gebeurtenissen goed om het onderhoud te versnellen. Blokkeren, Opnieuw opstarten, Opnieuw implementeren en Voorbereiden zijn de gebeurtenissen die worden vastgelegd door Gebeurtenissen plannen. Houd er rekening mee dat u het script kunt uitbreiden om enkele oplossingen te activeren voordat u de gebeurtenis goedkeurt.

Valideer de servicestatus en controleer of deze wordt uitgevoerd.

.\SchService.ps1 -status  

Hiermee wordt geretourneerd Running.

De service begint nu elke 10 seconden met polling voor geplande gebeurtenissen en keurt de gebeurtenissen goed om het onderhoud te versnellen. Blokkeren, Opnieuw opstarten, Opnieuw implementeren en Voorbereiden zijn de gebeurtenissen die worden vastgelegd door Gebeurtenissen plannen. U kunt het script uitbreiden om enkele oplossingen te activeren voordat u de gebeurtenis goedkeurt.

Wanneer een van de bovenstaande gebeurtenissen wordt vastgelegd door de planningsgebeurtenisservice, wordt deze geregistreerd in de gebeurtenisstatus van het toepassingsgebeurtenislogboek, gebeurtenistype, resources (namen van virtuele machines) en NotBefore (minimale kennisgevingsperiode). U kunt de gebeurtenissen met id 1234 vinden in het toepassingslogboek.

Zodra de service is ingesteld en gestart, worden gebeurtenissen vastgelegd in de Windows-toepassingslogboeken. Als u wilt controleren of dit werkt, start u een van de virtuele machines in de beschikbaarheidsset opnieuw op. Als het goed is, ziet u een gebeurtenis die wordt geregistreerd in Logboeken in het toepassingslogboek > van Windows waarin wordt opgegeven dat de vm opnieuw is opgestart.

Schermopname van logboeken.

Wanneer gebeurtenissen worden vastgelegd door de planningsgebeurtenisservice, wordt deze geregistreerd in het toepassingslogboek, zelfs met gebeurtenisstatus, gebeurtenistype, resources (VM-naam) en NotBefore (minimale kennisgevingsperiode). U kunt de gebeurtenissen met id 1234 vinden in het toepassingslogboek.

Notitie

In dit voorbeeld bevinden de virtuele machines zich in een beschikbaarheidsset, waardoor we één virtuele machine konden aanwijzen als de collector om te luisteren en geplande gebeurtenissen te routeren naar de werkruimte van onze Log Analytics-werkruimte. Als u zelfstandige virtuele machines hebt, kunt u de service uitvoeren op elke virtuele machine en deze vervolgens afzonderlijk verbinden met uw Log Analytics-werkruimte.

Voor onze installatie hebben we Windows gekozen, maar u kunt een vergelijkbare oplossing op Linux ontwerpen.

U kunt de Geplande gebeurtenisservice op elk gewenst moment stoppen/verwijderen met behulp van de schakelopties –stop en –remove.

Verbinding maken met de werkruimte

We willen nu een Log Analytics-werkruimte verbinden met de collector-VM. De Log Analytics-werkruimte fungeert als een opslagplaats en we configureren het verzamelen van gebeurtenislogboeken om de toepassingslogboeken van de collector-VM vast te leggen.

Als u de geplande gebeurtenissen wilt routeren naar het gebeurtenislogboek, dat door onze service als toepassingslogboek wordt opgeslagen, moet u uw virtuele machine verbinden met uw Log Analytics-werkruimte.

  1. Open de pagina voor de werkruimte die u hebt gemaakt.

  2. Selecteer onder Verbinding maken met een gegevensbronde optie Virtuele Azure-machines (VM's).

    Verbinding maken met een VM als gegevensbron

  3. Zoek en selecteer myCollectorVM.

  4. Selecteer Op de nieuwe pagina voor myCollectorVMde optie Verbinding maken.

Hiermee wordt de Microsoft Monitoring-agent op uw virtuele machine geïnstalleerd. Het duurt enkele minuten om uw VM te verbinden met de werkruimte en de extensie te installeren.

Configureer de werkruimte

  1. Open de pagina voor uw werkruimte en selecteer Geavanceerde instellingen.

  2. Selecteer Gegevens in het linkermenu en selecteer vervolgens Windows-gebeurtenislogboeken.

  3. Begin in Verzamelen uit de volgende gebeurtenislogboekentoepassing te typen en selecteer vervolgens Toepassing in de lijst.

    Selecteer Geavanceerde instellingen

  4. Laat FOUT, WAARSCHUWING en INFORMATIE geselecteerd en selecteer vervolgens Opslaan om de instellingen op te slaan.

Notitie

Er is enige vertraging en het kan tot 10 minuten duren voordat het logboek beschikbaar is.

Een waarschuwingsregel maken met Azure Monitor

Zodra de gebeurtenissen naar Log Analytics zijn gepusht, kunt u de volgende query uitvoeren om te zoeken naar de planningsgebeurtenissen.

  1. Selecteer bovenaan de pagina Logboeken en plak het volgende in het tekstvak:

    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. Selecteer Opslaan en typ ogQuery vervolgens voor de naam, laat Query als het type, typ VMLogs als categorie en selecteer vervolgens Opslaan.

    De query opslaan

  3. Selecteer Nieuwe waarschuwingsregel.

  4. Laat op de pagina Regel maken de resource staancollectorworkspace.

  5. Selecteer onder Voorwaarde de vermelding Wanneer de zoekopdracht in het klantlogboek niet is <gedefinieerd>. De pagina Signaallogica configureren wordt geopend.

  6. Voer onder Drempelwaarde0 inen selecteer gereed.

  7. Selecteer onder Actiesde optie Actiegroep maken. De pagina Actiegroep toevoegen wordt geopend.

  8. Typ myActionGroup bij Naam van actiegroep.

  9. Typ myActionGroup bij Korte naam.

  10. Selecteer in ResourcegroepmyResourceGroupAvailability.

  11. Typ onder Acties bij ACTIENAAMEmail en selecteer vervolgens Email/sms/push/spraak. De pagina Email/sms/push/spraak wordt geopend.

  12. Selecteer Email, typ uw e-mailadres en selecteer vervolgens OK.

  13. Selecteer OK op de pagina Actiegroep toevoegen.

  14. Typ op de pagina Regel maken onder WAARSCHUWINGSGEGEVENSmyAlert voor de naam van de waarschuwingsregel en typ vervolgens Email waarschuwingsregel voor de Beschrijving.

  15. Wanneer u klaar bent, selecteert u Waarschuwingsregel maken.

  16. Start een van de VM's in de beschikbaarheidsset opnieuw op. Binnen een paar minuten ontvangt u een e-mail met de melding dat de waarschuwing is geactiveerd.

Als u uw waarschuwingsregels wilt beheren, gaat u naar de resourcegroep, selecteert u Waarschuwingen in het linkermenu en selecteert u vervolgens Waarschuwingsregels beheren bovenaan de pagina.

Volgende stappen

Zie de servicepagina geplande gebeurtenissen op GitHub voor meer informatie.