Monitorare gli eventi pianificati per le macchine virtuali Windows
Si applica a: Macchine virtuali ✔️ ✔️ Windows Set di scalabilità flessibili Set ✔️ di scalabilità uniformi
Ogni giorno, vengono applicati aggiornamenti a diverse parti di Azure per mantenere i servizi in esecuzione sempre sicuri e aggiornati. Oltre agli aggiornamenti pianificati, possono verificarsi anche eventi non pianificati. Ad esempio, se vengono rilevati errori o riduzioni nelle prestazioni hardware, i servizi di Azure potrebbero eseguire una manutenzione non pianificata. Usando la migrazione in tempo reale, la memoria conserva gli aggiornamenti e mantiene un limite rigoroso sull'impatto degli aggiornamenti, consente a questi eventi di essere quasi trasparenti per i clienti. Al massimo, possono causare alcuni secondi di blocco della macchina virtuale. Per alcune applicazioni, tuttavia, anche alcuni secondi di blocco della macchina virtuale potrebbero causare un impatto. Conoscere in anticipo la prossima manutenzione di Azure è importante per garantire la migliore esperienza per tali applicazioni. Il servizio Eventi pianificati offre un'interfaccia a livello di codice per ricevere notifiche sulla manutenzione imminente e consente di gestire correttamente la manutenzione.
Questo articolo illustra come usare gli eventi pianificati per ricevere notifiche sugli eventi di manutenzione che potrebbero influire sulle macchine virtuali e creare un'automazione di base utile per il monitoraggio e l'analisi.
Routing di Eventi pianificati a Log Analytics
Eventi pianificati è disponibile come parte del servizio metadati dell'istanza di Azure, presente in ogni macchina virtuale di Azure. I clienti possono scrivere l'automazione per eseguire query sull'endpoint delle macchine virtuali, individuare le notifiche di manutenzione pianificata e impostare delle mitigazioni, ad esempio il salvataggio dello stato o l'esclusione della macchina virtuale. È consigliabile creare l'automazione per registrare gli eventi pianificati in modo da disporre di un log di controllo degli eventi di manutenzione di Azure.
Questo articolo illustra come acquisire gli eventi pianificati di manutenzione in Log Analytics. Vengono quindi attivate alcune azioni di notifica di base, ad esempio l'invio di un messaggio di posta elettronica al team e la visualizzazione cronologica di tutti gli eventi che hanno interessato le macchine virtuali. Per l'aggregazione degli eventi e l'automazione si usa Log Analytics, ma è possibile usare qualsiasi soluzione di monitoraggio per raccogliere questi log e attivare l'automazione.
Prerequisiti
Per questo esempio, è necessario creare una macchina virtuale Windows in un set di disponibilità. Eventi pianificati fornisce notifiche sulle modifiche che possono influire su qualsiasi macchina virtuale in set di disponibilità, servizio cloud, set di scalabilità di macchine virtuali o in macchine virtuali autonome. Viene eseguito un servizio che esegue il polling degli eventi pianificati in una delle macchine virtuali che fungono da agente di raccolta per ottenere eventi per tutte le altre macchine virtuali nel set di disponibilità.
Non eliminare il gruppo di risorse di gruppo alla fine dell'esercitazione.
È anche necessario creare un'area di lavoro Log Analytics usata per aggregare le informazioni dalle macchine virtuali nel set di disponibilità.
Configurare l'ambiente
A questo punto dovrebbero essere presenti due macchine virtuali iniziali in un set di disponibilità. È ora necessario creare una terza macchina virtuale, denominata myCollectorVM
, nello stesso set di disponibilità.
New-AzVm `
-ResourceGroupName "myResourceGroupAvailability" `
-Name "myCollectorVM" `
-Location "East US" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-OpenPorts 3389 `
-PublicIpAddressName "myPublicIpAddress3" `
-AvailabilitySetName "myAvailabilitySet" `
-Credential $cred
Scaricare il file zip di installazione del progetto da GitHub.
Connettersi a myCollectorVM, copiare il file ZIP nella macchina virtuale ed estrarre tutti i file. Nella macchina virtuale aprire un prompt di PowerShell. Spostare il prompt nella cartella contenente
SchService.ps1
, ad esempioPS C:\Users\azureuser\AzureScheduledEventsService-master\AzureScheduledEventsService-master\Powershell>
, e configurare il servizio..\SchService.ps1 -Setup
Avviare il servizio.
.\SchService.ps1 -Start
Convalidare lo stato del servizio e verificare che sia in esecuzione.
.\SchService.ps1 -status
Il comando di convalida deve restituire
Running
.
A questo punto, il servizio avvia il polling ogni 10 secondi per tutti gli eventi pianificati e approva gli eventi per velocizzare la manutenzione. Blocchi, riavvii, ridistribuzioni e interruzioni sono gli eventi acquisiti da Eventi pianificati. È possibile estendere lo script per attivare alcune mitigazioni prima di approvare l'evento.
Quando uno qualsiasi degli eventi di cui sopra viene acquisito dal servizio Eventi pianificati, viene registrato nel log eventi dell'applicazione con informazioni su stato, tipo di evento, risorse (nomi delle macchine virtuali) e valore NotBefore (periodo di preavviso minimo). Nel log eventi dell'applicazione gli eventi, è possibile individuare con ID 1234.
Una volta configurato e avviato il servizio, gli eventi vengono registrati nel registro applicazioni di Windows. Per verificare il funzionamento, riavviare una delle macchine virtuali nel set di disponibilità e verrà visualizzato un evento registrato nel Visualizzatore eventi nel registro applicazioni dei registri di > Windows che mostra la macchina virtuale riavviata.
Quando gli eventi vengono acquisiti dal servizio Eventi pianificati, vengono registrati nel log eventi dell'applicazione con informazioni su stato, tipo di evento, risorse (nomi delle macchine virtuali) e valore NotBefore (periodo di preavviso minimo). Nel log eventi dell'applicazione gli eventi, è possibile individuare con ID 1234.
Nota
In questo esempio, le macchine virtuali si trovano in un set di disponibilità, questo ha consentito di designare una singola macchina virtuale come agente di raccolta per ascoltare ed effettuare il routing degli eventi pianificati all'area di lavoro Log Analytics. Se si dispone di macchine virtuali autonome, è possibile eseguire il servizio in ogni macchina virtuale e quindi connetterle singolarmente all'area di lavoro Log Analytics.
Per la configurazione di esempio, è stato scelto Windows, ma è possibile progettare una soluzione simile in Linux.
È possibile arrestare/rimuovere il servizio Eventi pianificati in qualsiasi momento usando le opzioni –stop
e –remove
.
Connettersi all'area di lavoro Log Analytics
A questo punto si connette un'area di lavoro Log Analytics alla macchina virtuale dell'agente di raccolta. L'area di lavoro Log Analytics opera come repository e verrà configurata la raccolta dei registri eventi per acquisire i registri applicazioni dalla macchina virtuale dell'agente di raccolta.
Per instradare gli eventi pianificati al registro eventi, salvato come log applicazioni dal servizio, è necessario connettere la macchina virtuale all'area di lavoro Log Analytics.
Configurare la raccolta dei dati
Apri il portale di Azure.
Nella barra di ricerca nella parte superiore digitare Aree di lavoro Log Analytics e selezionarlo nei risultati della ricerca.
Scegliere l'area di lavoro creata per aprire la relativa pagina.
In Impostazioni selezionare Agenti e quindi fare clic su Macchine virtuali.
Nella scheda Server Windows fare clic su Regole di raccolta dati.
Immettere la scheda Raccogli e recapita e fare clic su Aggiungi origine dati
Nella scheda Origine dati selezionare Registri eventi di Windows nell'elenco a discesa.
Selezionare i log eventi da raccogliere. Assicurarsi che l'opzione ERROR, WARNING e INFORMATION (INFORMAZIONI) sia selezionata.
Fare clic su Avanti : Destinazione >
Nella scheda Destinazione fare clic su Aggiungi destinazione.
Compilare le sezioni Tipo di destinazione, Sottoscrizione e Dettagli destinazione con la macchina virtuale dell'agente di raccolta e i dettagli della sottoscrizione.
Dopo aver selezionato la macchina virtuale corretta, l'agente di monitoraggio Microsoft verrà installato automaticamente nella macchina virtuale. La connessione della macchina virtuale all'area di lavoro e l'installazione dell'estensione richiedono alcuni minuti.
Nota
Il ritardo potrebbe richiedere fino a 10 minuti prima che il log sia disponibile.
Creare di una regola di avviso con Monitoraggio di Azure
Una volta effettuato il push degli eventi in Log Analytics, è possibile eseguire questa query per cercare gli eventi di pianificazione.
Nella parte superiore della pagina selezionare Log e incollare il codice seguente nella casella di testo:
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
Selezionare Salva e quindi digitare
ogQuery
per il nome, lasciare Query come tipo, digitareVMLogs
come Categoria e quindi selezionare Salva.Selezionare Nuova regola di avviso.
Nella pagina Crea regola lasciare
collectorworkspace
come risorsa.In Condizione selezionare la voce Ogni volta che la ricerca nei log dei clienti non è <definita>. Viene visualizzata la pagina Configura logica dei segnali.
In Valore soglia immettere 0 e quindi selezionare Operazione completata.
Da Azioni selezionare Crea gruppo di azioni. Viene visualizzata la pagina Aggiungi gruppo di azione.
In Nome gruppo di azioni digitare myActionGroup.
In Nome breve digitare myActionGroup.
In Gruppo di risorse selezionare myResourceGroupAvailability.
In Azioni digitare Email per NOME AZIONE quindi selezionare Email/SMS/Push/Voice (E-mail/SMS/Push/Voce). Viene visualizzata la pagina Email/SMS/Push/Voice (Posta elettronica/SMS/Push/Voce).
Selezionare Email, digitare l'indirizzo di posta elettronica, quindi selezionare OK.
Nella pagina Aggiungi gruppo di azioni selezionare OK.
Nella pagina Crea regola in DETTAGLI AVVISO digitare myAlert come Nome regola di avviso, quindi digitare regola di avviso posta elettronicacome descrizione.
Al termine, selezionare Crea regola di avviso.
Riavviare una delle macchine virtuali nel set di disponibilità. Entro pochi minuti, si dovrebbe ricevere un messaggio di posta elettronica in cui è stato attivato l'avviso.
Per gestire le regole di avviso, passare al gruppo di risorse, selezionare Avvisi dal menu a sinistra e quindi Gestisci regole di avviso nella parte superiore della pagina.
Passaggi successivi
Per altre informazioni, vedere la pagina relativa al servizio Eventi pianificati su GitHub.