Come Impostare il Monitoraggio di Avviso di Windows Alta di Utilizzo del Sistema

  • Adam Bertram

    @adbertram

  • 6 aprile 2020, 11:18am EDT

Perfmon

Uno dei più trascurati gli strumenti di Windows è Perfmon, altrimenti noto come performance monitor. Questa utility ha molte abilità trascurate, una delle quali è la capacità di avvisare su varie condizioni metriche. In questo articolo, esploriamo come utilizzare correttamente la capacità di avviso di Perfmon con un elevato utilizzo della CPU.

Che cos’è Perfmon?

Disponibile fin dai primi giorni di Windows in varie iterazioni, Performance Monitor è disponibile come snap-in MMC a Windows destinato ad assistere nel monitoraggio dell’utilizzo del sistema e varie metriche delle prestazioni. La vista predefinita all’avvio evidenzia alcune aree diverse e metriche in tempo reale.

  • Performance Monitor – visualizzazione in tempo Reale di parametri
  • raccolta Dati Imposta Definita dall’insieme di dati in un determinato intervallo di tempo
  • Report – Come visualizzare i dati raccolti in un Data Collector Set

Se le Prestazioni del Monitor non viene avviato come Amministratore, la sua utilità sarà limitato e non si può non vedere l’agente di raccolta Dati Imposta o Rapporti.

Visualizzazione delle metriche

Quando fai clic per la prima volta su Performance Monitor ti verrà mostrato un grafico a linee in movimento che per impostazione predefinita è %Processor Time. Questo, di per sé, non è terribilmente utile in quanto i dati sono un valore variabile e in realtà vogliamo sapere se ci sono condizioni avverse.

È possibile aggiungere ulteriori metriche a questo grafico, facendo clic sul più verde e aggiungendo altre metriche. Tieni presente che la scala dei valori potrebbe non corrispondere tra diversi punti dati e quindi potrebbe essere di minore utilità se combinata su un singolo grafico.

Set di raccolta dati

I dati in tempo reale sono utili, ma non quelli che alla fine stiamo cercando. Come si fa quindi a avvisare su determinate condizioni, in questo caso, un elevato utilizzo della CPU sostenuto nel tempo?

Pubblicità

È qui che entrano in gioco i set di raccolta dati. Dopo aver ampliato i set di raccolta dati, fare clic con il pulsante destro del mouse su User Defined → New → Data Collector Set.

Ti verrà presentata l’opzione per assegnare un nome al set e se creare il set da un modello o creare il set manualmente. In questo caso, dobbiamo creare manualmente la nostra configurazione.

In questo caso, stiamo impostando un avviso di contatore delle prestazioni. Questo monitorerà un dato contatore e quindi possiamo dire all’avviso di intraprendere determinate azioni.

Poiché stiamo cercando di monitorare la percentuale totale della CPU, è molto importante scegliere la metrica corretta da monitorare. Qui stiamo scegliendo Processore → _totale facendo clic su “Aggiungi >>” accanto all’istanza selezionata.

Annuncio pubblicitario

Un problema è che si ottiene tutte le metriche _Total del processore. In definitiva, vogliamo solo la metrica \Processor(_Total)\% Processor Time. Per rimuovere gli altri, selezionare ciascuno di essi e fare clic sul pulsante Rimuovi.

Sfortunatamente, il modo in cui la rimozione funziona, non puoi semplicemente fare clic sul pulsante Rimuovi più volte mentre sposta l’elemento selezionato in alto ogni volta. Selezionare ciascuna metrica singolarmente e fare clic su Rimuovi.

Ora dobbiamo dire al contatore delle prestazioni a che punto dovrebbe iniziare l’avviso e in questo caso, stiamo cercando di farlo avvisare solo quando sopra 95.

Infine, salvare e chiudere il set di raccolta dati.

Configurazione degli avvisi

Con la nostra configurazione predefinita fuori mano, dobbiamo ora configurare quale azione di avviso avrà luogo. Esistono due modi per impostare gli avvisi, l’azione di avviso e l’attività di avviso. Selezionare il set di raccolta dati di utilizzo della CPU definito dall’utente → Elevato, fare clic con il pulsante destro del mouse sulla voce predefinita DataCollector01 e scegliere Proprietà.

Il modo più semplice per iniziare a monitorare le voci è passare alla scheda Azione avviso e fare clic sulla casella di controllo “Registra una voce nel registro eventi dell’applicazione”. Hai anche la comoda opzione per avviare un set di raccolta dati diverso quando i criteri per un avviso sono soddisfatti. In questo modo è possibile raccogliere la registrazione aggiuntiva, se necessario. Qui però, stiamo solo andando a registrare una voce.

Configurazione di un’attività di avviso

Va tutto bene, ma alla fine non stiamo ricevendo un avviso effettivo in questo caso, solo una nuova voce del registro eventi. Nella scheda Attività di avviso, possiamo dire a questo raccoglitore di dati di avviare un’attività pianificata e inviare alcuni parametri, che possono quindi eseguire qualsiasi azione di avviso che vogliamo. Per farlo funzionare, dobbiamo fare due cose. Creare lo script da eseguire e l’attività pianificata stessa.

Script di registrazione

Di seguito è riportato uno script di registrazione molto semplice. Leggiamo nelle metriche di avviso emesse dall’attività di avviso e inviamo tali risultati a un file di registro.

HighCPUAlert.ps1

$Date = $args $Threshold = $args $Counter = $args $Value = " {1} {2} | {3}" -F $Date, 'High CPU', $Threshold, $Counter Add-Content -Value $Value -Path 'C:\HighCPUAlert.log' 

Attività pianificata

Qui è necessario creare l’attività pianificata che eseguirà effettivamente lo script al momento della chiamata da parte del raccoglitore di dati. Stiamo usando PowerShell per creare l’attività pianificata e usando PowerShell 7 come runtime, come indicato dall’eseguibile pwsh.exe.

$Params = @{ "Action" = New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-NoProfile -File C:\HighCPUAlert.ps1 $(Arg0)" "Principal" = New-ScheduledTaskPrincipal -UserId "LOCALSERVICE" -LogonType ServiceAccount "Settings" = New-ScheduledTaskSettingsSet } New-ScheduledTask @Params | Register-ScheduledTask 'HighCPUAlert' 

Fino a quando PowerShell 7 non viene rilasciato formalmente, l’eseguibile potrebbe essere pwsh-preview.exe.

Configurazione dell’attività di avviso

Infine, è necessario configurare l’attività di avviso sul raccoglitore di dati. Per fare ciò, passare nuovamente alle proprietà di DataCollector01 e immettere i seguenti dettagli.

Citiamo gli argomenti dell’attività perché entrano come stringhe in PowerShell. Pertanto, citandoli, stiamo rendendo facile separare gli argomenti per indice, cioè $arg o $arg.

Una volta fatto clic su Salva potrebbe essere richiesta una credenziale, questo dovrebbe essere un utente con accesso amministratore.

Esecuzione del raccoglitore dati

Facendo clic con il pulsante destro del mouse sul set di raccolta dati, utilizzo elevato della CPU e selezionando Start, si inizierà il processo di raccolta. Se si monitorano le attività pianificate, verrà eseguita periodicamente l’attività pianificata appena creata in base all’intervallo di monitoraggio e alla soglia impostata.

Conclusione

Utilizzando gli strumenti di monitoraggio integrati di Windows, è possibile strutturare alcune soluzioni di monitoraggio utili e potenti intorno utilità di base e PowerShell. Con questa flessibilità, sarai in grado di andare a fondo di quasi tutti i problemi che possono essere diagnosticati tramite la raccolta di dati metrici!

Adam Bertram
Adam Bertram è un veterano di oltre 20 anni di IT e un esperto professionista del business online. È consulente, Microsoft MVP, blogger, trainer, autore pubblicato e content marketer per più aziende tecnologiche. Recuperare il ritardo su articoli di Adam a adamtheautomator.com, connettiti su LinkedIn, o seguilo su Twitter a @adbertram.Leggi la Biografia completa ”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.