Geplande gebeurtenissen voor uw Azure-VM's bewaken
Van toepassing op: Virtuele Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform schaalsets ✔️
Updates worden elke dag toegepast op verschillende onderdelen van Azure, zodat de services veilig en up-to-date blijven. Naast geplande updates kunnen er ook niet-geplande gebeurtenissen optreden. Als er bijvoorbeeld hardwaredegradatie of -fout wordt gedetecteerd, moeten Azure-services mogelijk ongepland onderhoud uitvoeren. Het gebruik van livemigratie, updates met geheugenbehoud en over het algemeen een strikte balk houden op de gevolgen van updates, in de meeste gevallen zijn deze gebeurtenissen bijna transparant voor klanten en hebben ze geen invloed of veroorzaken ze meestal een paar seconden van het blokkeren van virtuele machines. Voor sommige toepassingen kan het blokkeren van virtuele machines echter zelfs een paar seconden gevolgen hebben. Kennis van tevoren over gepland Azure-onderhoud is belangrijk 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 gepland onderhoud en stelt u in staat om het onderhoud correct af te handelen.
In dit artikel laten we zien hoe u geplande gebeurtenissen kunt gebruiken om op de hoogte te worden gesteld van onderhoudsevenementen die van invloed kunnen zijn op uw VM's en een aantal eenvoudige automatiseringen kunt bouwen die u kunnen helpen bij het bewaken en analyseren.
Geplande gebeurtenissen routeren naar Log Analytics
Geplande gebeurtenissen zijn 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 risicobeperking uit te voeren, zoals het opslaan van de status en het uit rouleren 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 kunt vastleggen in Log Analytics. Vervolgens activeren we enkele eenvoudige meldingsacties, zoals het verzenden van een e-mailbericht naar uw team en het ophalen van een historisch overzicht van alle gebeurtenissen die van invloed zijn 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.
Vereisten
In dit voorbeeld moet u een virtuele Windows-machine maken in een beschikbaarheidsset. Geplande gebeurtenissen bieden meldingen over wijzigingen die van invloed kunnen zijn op alle virtuele machines in uw beschikbaarheidsset, cloudservice, virtuele-machineschaalset of zelfstandige VM's. Er wordt een service uitgevoerd waarmee geplande gebeurtenissen worden gecontroleerd 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 gegevens van de VM's in de beschikbaarheidsset samen te voegen.
De omgeving instellen
U moet nu twee initiële VM's in een beschikbaarheidsset hebben. Nu moeten we in dezelfde beschikbaarheidsset een derde VIRTUELE machine maken, aangeroepen myCollectorVM
.
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 vanuit 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 VIRTUELE machine. Verplaats uw 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 vooraf gaan, zijn de gebeurtenissen die zijn vastgelegd door planningsgebeurtenissen. Houd er rekening mee dat u het script kunt uitbreiden om enkele oplossingen te activeren voordat de gebeurtenis wordt goedgekeurd.
Valideer de servicestatus en controleer of deze actief is.
.\SchService.ps1 -status
Dit moet worden 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 zijn vastgelegd door planningsgebeurtenissen. U kunt het script uitbreiden om enkele oplossingen te activeren voordat de gebeurtenis wordt goedgekeurd.
Wanneer een van de bovenstaande gebeurtenissen wordt vastgelegd door de Schedule Event-service, wordt deze geregistreerd in de gebeurtenislogboekstatus van het toepassingsgebeurtenislogboek, gebeurtenistype, resources (namen van virtuele machines) en NotBefore (minimale kennisgevingsperiode). U kunt de gebeurtenissen vinden met id 1234 in het gebeurtenislogboek van de toepassing.
Zodra de service is ingesteld en gestart, worden gebeurtenissen in de Windows-toepassingslogboeken geregistreerd. Als u wilt controleren of dit werkt, start u een van de virtuele machines in de beschikbaarheidsset opnieuw op en ziet u dat er een gebeurtenis wordt geregistreerd in logboeken van Windows-logboeken met toepassingslogboeken > waarin de vm opnieuw is opgestart.
Wanneer gebeurtenissen worden vastgelegd door de planningsgebeurtenisservice, wordt deze zelfs geregistreerd in de toepassing met gebeurtenisstatus, gebeurtenistype, resources (VM-naam) en NotBefore (minimale kennisgevingsperiode). U kunt de gebeurtenissen vinden met id 1234 in het gebeurtenislogboek van de toepassing.
Notitie
In dit voorbeeld bevinden de virtuele machines zich in een beschikbaarheidsset, waardoor we één virtuele machine kunnen aanwijzen als de collector om geplande gebeurtenissen naar onze Log Analytics-werkruimte te luisteren en te routeren. 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 ontwerpen in Linux.
U kunt de geplande gebeurtenisservice op elk moment stoppen of 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 gebeurtenissenlogboek, dat door onze service wordt opgeslagen als toepassingslogboek, moet u uw virtuele machine verbinden met uw Log Analytics-werkruimte.
Open de pagina voor de werkruimte die u hebt gemaakt.
Selecteer onder Verbinding maken met een gegevensbron virtuele Azure-machines (VM's).
Zoek en selecteer myCollectorVM.
Selecteer Verbinding maken op de nieuwe pagina voor myCollectorVM.
Hiermee installeert u de Microsoft Monitoring-agent op uw virtuele machine. Het duurt enkele minuten om uw VIRTUELE machine te verbinden met de werkruimte en de extensie te installeren.
Configureer de werkruimte
Open de pagina voor uw werkruimte en selecteer Geavanceerde instellingen.
Selecteer Gegevens in het linkermenu en selecteer vervolgens Windows-gebeurtenislogboeken.
Begin in Collect uit de volgende gebeurtenislogboeken met het typen van de toepassing en selecteer vervolgens Toepassing in de lijst.
Laat ERROR, WARNING en INFORMATION geselecteerd en selecteer 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 naar de planningsgebeurtenissen te zoeken.
Selecteer logboeken boven aan de pagina 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
Selecteer Opslaan en typ
ogQuery
de naam, laat Query op het type staan, typVMLogs
als categorie en selecteer Opslaan.Selecteer Nieuwe waarschuwingsregel.
Laat op de pagina Regel maken de resource staan
collectorworkspace
.Selecteer onder Voorwaarde de vermelding Wanneer de zoekopdracht <in het klantlogboek niet is gedefinieerd>. De pagina Signaallogica configureren wordt geopend.
Voer onder Drempelwaarde 0 in en selecteer Vervolgens Gereed.
Selecteer onder Acties de optie Actiegroep maken. De pagina Actiegroep toevoegen wordt geopend.
Typ myActionGroup in de naam van de actiegroep.
Typ myActionGroup in korte naam.
Selecteer in de resourcegroep myResourceGroupAvailability.
Onder Acties typt u E-mail in ACTIENAAM en selecteert u Vervolgens E-mail/SMS/Push/Voice. De pagina E-mail/sms/push/spraak wordt geopend.
Selecteer E-mail, typ uw e-mailadres en selecteer VERVOLGENS OK.
Selecteer OK op de pagina Actiegroep toevoegen.
Typ op de pagina Regel maken onder WAARSCHUWINGSDETAILS myAlert voor de naam van de waarschuwingsregel en typ vervolgens de e-mailwaarschuwingsregel voor de beschrijving.
Wanneer u klaar bent, selecteert u Waarschuwingsregel maken.
Start een van de VM's in de beschikbaarheidsset opnieuw op. Binnen een paar minuten ontvangt u een e-mailbericht 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 waarschuwingsregels beheren boven aan de pagina.
Volgende stappen
Zie de pagina Geplande gebeurtenissenservice op GitHub voor meer informatie.