Come configurare il monitoraggio per avvisare dell'utilizzo elevato del sistema Windows

Contenuti

Uno degli strumenti più trascurati in Windows è Perfmon, noto anche come monitor delle prestazioni. Questa utility ha molte abilità trascurate, uno di questi è la capacità di avvisare su varie condizioni metriche. In questo post, esploriamo come utilizzare correttamente la capacità di avviso di Perfmon con un elevato utilizzo della CPU.

Cos'è Perfmon?

Disponibile fin dai primi giorni di Windows in più iterazioni, Performance Monitor è abilitato come snap-in MMC per Windows destinato a monitorare l'utilizzo del sistema e vari parametri delle prestazioni. La visualizzazione predefinita all'avvio evidenzia alcune aree e metriche diverse in tempo reale.

  • Monitoraggio delle prestazioni – Visualizzazione delle metriche in tempo reale
  • Set di raccolta dati – Imposta la raccolta di dati in un intervallo di tempo specificato
  • Rapporti – Come visualizzare i dati raccolti nei set di raccolta dati

Se Performance Monitor non si avvia come amministratore, la sua utilità sarà limitata e potresti non vedere i set di raccolta dati o i rapporti.

Visualizzazione delle metriche

Quando fai clic per la prima volta su Performance Monitor, ti mostrerà un grafico a linee mobili che per impostazione predefinita è %Processor Time. Questo, da solo, non è molto utile poiché i dati sono un valore variabile e vogliamo davvero sapere se ci sono condizioni avverse.

Puoi aggiungere ulteriori metriche a questo grafico, facendo clic sul segno più verde e aggiungendo altre metriche. Si noti che la scala dei valori potrebbe non corrispondere tra diversi punti dati e, perché, possono essere di minor utilità se combinati in un singolo grafico.

Set di raccolta dati

I dati in tempo reale sono utili, ma non sono ciò che alla fine cerchiamo. Quindi, Come avvisiamo su determinate condizioni?, in questa circostanza, elevato utilizzo della CPU sostenuto nel tempo?

È qui che entrano in gioco i set di raccolta dati. Dopo aver espanso i set di raccolta dati, fare clic con il tasto destro su Definito dall'utente → Nuovo → Set di raccolta dati.

Ti verrà presentata l'opzione di nominare il set e se creare il set da un modello o creare il set manualmente. In questa circostanza, dobbiamo creare manualmente la nostra configurazione.

In questa circostanza, stiamo allestendo un Avviso contatore prestazioni. Questo monitorerà un determinato contatore e in seguito potremo dire all'avviso di intraprendere determinate azioni.

Poiché cerchiamo di monitorare la percentuale totale di CPU, è più importante selezionare la metrica corretta da monitorare. Qui stiamo scegliendo Processore → _Totale Cliccando “Agregar >>” accanto all'istanza selezionata.

Un ostacolo è che ottieni tutto il Processore _Totale metrica. Come ultima opzione, vogliamo solo Processor(_Total)% Processor Time metrica. Per rimuovere gli altri, selezionane uno e fai clic sul pulsante Rimuovi.

Sfortunatamente, il modo in cui funziona la rimozione, non puoi semplicemente fare clic sul pulsante Rimuovi più volte, poiché sposta l'elemento selezionato in alto ogni volta. Seleziona ogni metrica singolarmente e fai clic su Rimuovi.

Ora dobbiamo dire al contatore delle prestazioni a che punto deve iniziare l'avviso e, in questa circostanza, vogliamo che si attivi solo quando è attivo 95.

Finalmente, salva e chiudi il set di raccolta dati.

Configura avvisi

Con le nostre impostazioni predefinite fuori mano, Ora dobbiamo configurare quale azione di avviso verrà eseguita. Esistono due alternative per configurare gli avvisi, Azione di avviso e attività di avviso. Seleziona il tuo Definito dall'utente → Utilizzo elevato della CPU insieme di raccolta dati, clic destro DataCollector01 inserire e scegliere Proprietà.

Il modo più semplice per iniziare a monitorare i ticket è passare alla scheda Azione di avviso e fare clic sulla casella di controllo per “Registra una voce nel registro eventi dell'applicazione”. Inoltre, hai la comoda opzione di avviare un diverso set di agenti di raccolta dati quando vengono soddisfatti i criteri per un avviso.. In questo modo, può raccogliere ulteriori record se necessario. Nonostante questo, qui stiamo solo andando a registrare una voce.

Imposta un'attività di avviso

Tutto questo va bene, ma alla fine, non stiamo ricevendo un vero avviso in questa circostanza, solo una nuova voce nel registro eventi. Nella scheda Attività di avviso, possiamo dire a questo raccoglitore di dati di avviare un'attività pianificata e inviare alcuni parametri, che può in seguito eseguire le azioni di allerta che desideriamo. Perché questo funzioni, dobbiamo fare due cose. Crea lo script da eseguire e l'attività pianificata stessa.

Script di registrazione

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

HighCPUAlert.ps1

$Date      = $args[0]
$Threshold = $args[1]
$Counter   = $args[2]

$Value = "[{0}] {1} {2} | {3}" -F $Date, 'High CPU', $Threshold, $Counter

Add-Content -Value $Value -Path 'C:HighCPUAlert.log'

Operazione programmata

Qui dobbiamo creare l'attività pianificata che eseguirà effettivamente lo script quando il raccoglitore di dati lo invoca. Stiamo usando PowerShell per creare l'attività pianificata e usando PowerShell 7 come runtime, come indicato dal pwsh.exe eseguibile.

$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 PowerShell 7 lanciare formalmente, l'eseguibile può essere pwsh-preview.exe.

Impostazioni attività di avviso

In conclusione, dobbiamo configurare l'attività di avviso nel raccoglitore di dati. Per fare questo, vai di nuovo alle proprietà di DataCollector01 e inserisci i seguenti dettagli.

Citiamo gli argomenti dell'attività perché vengono come stringhe di PowerShell. Perché, citandoli, facilitiamo la separazione degli argomenti per indice, In altre parole $arg[0] oh $arg[1].

Dopo aver fatto clic su Salva, potrebbe essere richiesta una credenziale, deve essere un utente con accesso come amministratore.

Esecuzione del raccoglitore di dati

Fare clic con il pulsante destro del mouse sull'insieme dei raccoglitori di dati, elevato utilizzo della CPU e scegliere Cominciare, inizierà la procedura di raccolta. Se monitori le attività pianificate, vedrai che l'attività pianificata appena creata viene eseguita periodicamente in base all'intervallo di monitoraggio e alla soglia impostata.

conclusione

Attraverso l'uso degli strumenti di monitoraggio integrati di Windows, puoi strutturare alcune soluzioni di monitoraggio utili e potenti attorno alle utilità di base e a PowerShell. Con questa flessibilità, sarai in grado di arrivare alla fine di quasi tutti i problemi che possono essere diagnosticati attraverso la raccolta di dati metrici.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.