- PerfMon e Data Collector Sets consentono l'acquisizione di dati di telemetria locali dettagliati di CPU, memoria, disco, rete e applicazioni in Windows.
- La combinazione di contatori adatti, programmazione Acquisizioni e strumenti come Logman o Resource Monitor facilitano la diagnosi dei problemi di prestazioni.
- L'integrazione di contatori di terze parti (come SANsymphony/DataCore) e il mantenimento del sistema aggiornato con hotfix rafforzano l'affidabilità dell'ambiente di monitoraggio.
Telemetria locale con PerfMon e Data Collector Sets È una di quelle gemme nascoste di Windows che quasi nessuno sfrutta appieno, ma fa la differenza quando è necessario diagnosticare colli di bottiglia, cali di prestazioni o errori intermittenti in server e applicazioni. PerfMon (Performance Monitor) è incluso di serie in Windows, non richiede licenze aggiuntive e, se configurato correttamente, offre una visione d'insieme precisa di ciò che accade nella propria infrastruttura.
Sebbene molte persone utilizzino PerfMon solo per dare una rapida occhiata alla CPU o alla memoria, Il vero potenziale risiede nella combinazione con i Data Collector Sets, tracce di eventi e strumenti come Logman, Resource Monitor o integrazione con console di terze parti (ad esempio, SANsymphony o soluzioni di immagazzinamento come DataCore). Con una strategia di telemetria locale ben pianificata, è possibile registrare i dati per giorni o settimane, automatizzare la rotazione di i registri, generare report e avere a disposizione numerose munizioni per risolvere problemi complessi.
Che cos'è PerfMon e perché è fondamentale per la telemetria locale?

PerfMon (Performance Monitor o perfmon.msc) È la classica console grafica di Windows per la visualizzazione e la registrazione dei contatori delle prestazioni di sistema e delle applicazioni. Consente di osservare metriche in tempo reale o differite per CPU, memoria, disco, rete, servizi specifici e software come SQL Server, e di esporre tali dati ad altri strumenti di monitoraggio.
A livello pratico, PerfMon è organizzato attorno a oggetti, contatori e istanzeGli oggetti rappresentano i componenti (processore, memoria, disco fisico, SQL Server, ecc.), i contatori sono le metriche concrete (% tempo processore, media trasferimento disco/sec, pagine/sec, ecc.) e le istanze differenziano gli elementi all'interno di un oggetto (ad esempio, ogni disco fisico o ogni database).
Un vantaggio molto potente è che PerfMon può funzionare sia con team locali che remotiA condizione che si disponga delle autorizzazioni appropriate. Questo lo rende uno strumento ideale per la gestione di ambienti Windows Server in produzione, inclusi ruoli critici come SQL Server, servizi di stampa, applicazioni web, archiviazione e altro ancora.
I dati registrati da PerfMon Possono essere esportati in formati standard come CSV, BLG o TSVPertanto, è molto facile scambiarli con altri team, automatizzare l'analisi o conservare le acquisizioni storiche per audit e confronti.
Sebbene sia possibile utilizzare PerfMon in modo puramente visivo (con il tipico grafico a linee), Il suo vero punto di forza risiede nella registrazione continua tramite Data Collector Set.Questi sistemi consentono l'acquisizione controllata della telemetria in il tempocon intervalli di campionamento configurabili, limiti di durata e dimensione, avvisi e generazione automatica di report.
Strumenti correlati: Monitoraggio risorse, Strumenti di monitoraggio e Report

All'interno della console delle prestazioni di Windows, Non hai solo PerfMon nella modalità grafica classicama piuttosto un set di strumenti complementari che facilitano la diagnostica quotidiana: Resource Monitor, Strumenti di Monitoraggio e Report. Ognuno di essi copre un diverso livello di dettaglio.
Sorvegliante delle risorse Questa è la "vista trench" per vedere cosa sta succedendo in questo momento sul server. È organizzata in schede: Panoramica, CPU, Disco, Rete e Memoria. Ogni scheda combina tabelle di processi/servizi con grafici in tempo reale. Selezionando uno o più processi in CPU, Questa selezione funge da filtro per il resto delle sezioniCiò aiuta a isolare quali processi stanno attivando il consumo di I/O, di rete o di RAM.
La scheda Disco mostra, ad esempio, letture, scritture e totali per processoe una seconda sezione con i dettagli per ogni file aperto. Nella sezione Rete, è possibile visualizzare i processi con attività di rete, connessioni TCP e porte di ascolto. Questa sezione è ideale per determinare se la lentezza è dovuta a un processo specifico o a un pattern generale del sistema.
Nella parte di Strumenti di monitoraggio È disponibile il Performance Monitor "classico", con diverse visualizzazioni: Linea (la tipica visualizzazione a linee), Istogramma (istogramma a barre) e Report (modalità report). Include anche un'area di riepilogo che mostra l'ultimo valore, la media, il massimo, il minimo e la durata del campione per il contatore selezionato, molto utile per rilevare tendenze senza dover esportare i dati.
Le impostazioni di PerfMon sono organizzate in schede: Generale, Fonte, Dati, Grafico e AspettoIn Generale puoi mostrare o nascondere la legenda, la barra dei valori o la barra degli strumenti; in Origine puoi decidere se visualizzare l'attività corrente, caricare un registro dati o leggere da un database delle prestazioni, nonché regolare l'intervallo di tempo da visualizzare.

I contatori vengono aggiunti o rimossi dalla scheda Dati e Colore, scala, spessore e stile della linea sono personalizzabiliLa scheda Grafico consente di modificare il tipo di grafico, gli assi, i valori minimi e massimi per l'asse verticale e i tempi visualizzati sull'asse orizzontale. In Aspetto, è possibile modificare i colori e i caratteri del monitor.
La sezione di Report Offre accesso ai report generati dai Data Collector Set. È possibile visualizzare i report organizzati per tipologia (sistema, utente, eventi di tracciamento) e navigare tra le metriche aggregate. Sebbene non sia un sistema di reporting avanzato come uno strumento di BI, I report PerfMon sono molto utili per una diagnosi iniziale. e per documentare il comportamento del server in un dato periodo di tempo.
Data Collector Sets: il cuore della telemetria con PerfMon
I Set di raccolta dati Si tratta di gruppi di contatori, tracce e configurazioni che definiscono quali dati di telemetria verranno acquisiti, con quale frequenza, per quanto tempo e dove verranno archiviati. Windows li organizza in collettori di eventi utente, di sistema e di traccia.
Prima di entrare nei dettagli, è importante distinguere tra Contatori delle prestazioni e dati di tracciamento degli eventi. I primi sono collegati a un timer di sistema e sono ideali per la diagnostica di alto livello (CPU, memoria, disco, rete, ecc.). I secondi raccolgono eventi più dettagliati dalle applicazioni o dal sistema operativo stesso, molto utili per individuare errori software, problemi con hardware o sovrautilizzazione delle risorse e per esplorare dati di sistema dettagliati.
I raccoglitori di utenti possono includere diversi tipi di dati: Contatori delle prestazioni (contatori di prestazioni classici), Dati di tracciamento degli eventi (eventi traccia), Informazioni sulla configurazione del sistema (informazioni di configurazione e registrazione) e Avviso contatore prestazioni (avvisi che vengono attivati quando un contatore supera una soglia). Questi avvisi possono essere registrati nel Visualizzatore eventi e persino attivare attività automatiche.
In pratica, quando si lavora con la telemetria locale per la diagnostica, è comune creare Set personalizzati di Data Collector di tipo contatore delle prestazioniQuesti sono definiti dall'utente e progettati per registrare su un periodo di tempo prolungato. Tuttavia, in ambienti avanzati, combinare i contatori con i dati di tracciamento degli eventi è molto utile per ridurre il tempo impiegato nel debug di errori complessi.
All'interno della console, i set di raccolta dati sono classificati come Definito dall'utenteEventi di sistema o di traccia. Nella vista Report, i risultati di questi set saranno visualizzati una volta completata l'acquisizione, distinguendo tra oggetti di sistema predefiniti e quelli creati dall'amministratore.
Come creare un set di raccolta dati personalizzato con PerfMon
Il processo di creazione manuale di un set di raccolta dati offre un controllo molto preciso su ciò che si andrà a misurare. Il percorso tipico nella console è iniziare da Definito dall'utente e creare un nuovo set da zero, evitando i modelli quando si desidera qualcosa di molto personalizzato in base alle proprie esigenze.
I passaggi concettuali sono semplici: Definisci il nome e il tipo di dati, aggiungi i contatori e configura gli intervalli di campionamento.Si sceglie la cartella di output e si impostano le credenziali, la sicurezza e la pianificazione. Quindi si possono impostare le condizioni di arresto (in base all'ora o alla dimensione del log) e le regole di riavvio automatico.
Un flusso di lavoro tipico si presenterebbe più o meno così: si passa il mouse su "Definito dall'utente", si sceglie "Nuovo set di raccolta dati", si assegna un nome e si seleziona "Crea manualmente (Avanzato)". Se si opta per "Crea da un modello", si importerebbe un file XML con contatori predefiniti, ma questo approccio presenta uno svantaggio significativo: I file XML dipendono dalla versione del sistema operativo e dal Service Pack.Per questo motivo, spesso falliscono se non corrispondono perfettamente.
Una volta selezionata la modalità avanzata, puoi scegliere se creare file di registro per analisi successive. Nel caso di contatori di prestazioniLa schermata successiva ti chiederà di aggiungere contatori utilizzando il pulsante "Aggiungi". Nella stessa finestra, puoi configurare l'intervallo di campionamento e le unità, due parametri fondamentali per evitare di generare megabyte di dati non necessari o di perdere dettagli in picchi molto brevi.
Dopo aver cliccato su "Aggiungi", seleziona il computer (locale o remoto), l'oggetto contatore e le istanze che desideri includere. Se selezioni "Mostra descrizione", PerfMon visualizza una breve spiegazione di ogni contatoreQuesto aiuta a evitare errori nella scelta. Ripetere l'operazione tutte le volte che si desidera aggiungere contatori e chiudere con "OK". Quindi, selezionare il percorso in cui salvare il file di registro e completare la procedura guidata.
Una volta terminato, è possibile aprire le proprietà del set di raccolta dati appena creato. Nella scheda principale, Si configura l'account utente (Esegui come) che eseguirà il raccoglitore, che deve disporre delle autorizzazioni appropriate. La scheda "Directory" consente di modificare la sottodirectory e il modello di denominazione (sottodirectory e formato del nome della sottodirectory), utile quando si desidera separare le acquisizioni per giorno o ora.
La scheda "Sicurezza" definisce le autorizzazioni di accesso per il Data Collector Set, mentre la scheda "Pianificazione" consente di pianificarne l'avvio automatico. Infine, la scheda "Condizione di arresto" imposta le condizioni di arresto: durata complessiva e, se desiderato, Riavvio automatico al raggiungimento di determinati limiti di tempo o dimensioni (Riavviare il set di raccolta dati ai limiti, con un massimo in MB).
Configurare acquisizioni periodiche: esempio di telemetria durante l'orario di lavoro
Uno scenario molto comune è quello di un'applicazione che soffre timeout o lentezza in momenti casuali della giornata. Non si sa quando il problema si ripresenterà, quindi è necessario acquisire continuamente dati di telemetria durante le ore di produzione, ruotando i file per evitare un utilizzo eccessivo del disco.
Immagina un server Windows Server 2012 (applicabile anche ad altre versioni) che riscontra errori di autenticazione con una soluzione come YSoft SafeQ. Sai che gli errori si verificano tra le 8:00 e le 20:00, ma non esattamente quando, e non vuoi conservare i log di un intero mese. L'obiettivo è registrare i dati ogni ora e mantenere la telemetria per alcuni giorni., limitare lo spazio massimo (ad esempio, 10 GB) e avere report grafici pronti per la revisione.
In PerfMon è possibile creare un Data Collector Set partendo dal modello "Prestazioni di sistema", che aggiunge una selezione consigliata di contatori. Quindi è possibile modificare la configurazione: nelle proprietà del set, scheda "Condizione di arresto", Hai impostato una durata totale di 60 minuti in modo che ogni esecuzione generi un file di un'ora. In "Gestione dati", deseleziona "Numero massimo di cartelle", imposta la policy delle risorse su "Elimina le più vecchie" e seleziona "Massimo". radice "dimensione del percorso", ad esempio, a 10000 MB, in modo che i file più vecchi vengano eliminati automaticamente quando viene raggiunto il limite.
Il passo successivo è programmare il Data Collector Set con Utilità di pianificazione (taskschd.msc)Accedi a Libreria Utilità di Pianificazione > Microsoft > Windows > PLA, individua l'attività con lo stesso nome del set di raccolta dati e modificane la pianificazione: trigger giornaliero, inizio alle 8:00, ripetizione ogni ora per 12 ore. Nella scheda "Impostazioni", seleziona "Metti in coda una nuova istanza" per mettere in coda nuove istanze, se necessario, e rivedi la configurazione di riavvii automatici.
È consigliabile verificare che l'attività funzioni correttamente: fare clic con il pulsante destro del mouse sull'attività, selezionare "Esegui" e verificare che lo stato cambi in "In esecuzione". Attendi un paio di minuti e controlla che sia ancora in esecuzione. Quindi, interrompi l'attività con "Termina" e assicurati che torni a "Pronto". Da lì, I report appariranno automaticamente nella sezione Report > Definiti dall'utente, sotto il nome di Data Collector Set, con l'ora di inizio di ogni acquisizione nel nome.
Da quei rapporti si può vedere il “Sintesi"E"Risultato diagnosticoPer una panoramica e per maggiori dettagli, apri categorie specifiche (ad esempio, Disco > Disco fisico > Media disco sec/Trasferimento). Puoi anche passare alla vista "Performance Monitor" per ingrandire i grafici e analizzare il momento esatto del problema.
Utilizzo di Logman in ambienti senza interfaccia grafica
Su Windows Server 2016 Core, Nano Server o installazioni minime, Non hai la GUI completa di PerfMonMa questo non significa che si debba rinunciare alla telemetria. Per questi casi, Microsoft fornisce Logman, uno strumento di analisi di linea. comandi (utilizzabile da CMD o PowerShell) per creare, configurare e gestire set di raccolta dati.
Con Logman puoi creare collettori di dati di tipo Contatore delle prestazioni, Dati di traccia degli eventi o Informazioni sulla configurazione del sistemaoltre a definire set di raccolta dati di avviso. Consente inoltre di avviare, interrompere ed eliminare set, configurare intervalli di campionamento, durata, percorsi di registro e opzioni di ripetizione.
Un esempio tipico: si vuole misurare il % Tempo di elaborazione del processore totale Ogni ora, per 30 giorni, con ripristino automatico dei file e salvataggio dei log in C:\perflogs. Potresti eseguire qualcosa del tipo:
logman crea contatore CPUCounter -c «\Processor(_Total)\% Tempo processore» -rf 720:00:00 -r -si 01:00:00 -o «c:\perflogs\daily_log»
In questo comando, crea contatore indica che stai creando un raccoglitore di contatoriL'opzione -c definisce il contatore specifico, -rf imposta la durata totale (in questo caso 720 ore, ovvero 30 giorni), -r indica che il set viene ripetuto e -si imposta l'intervallo di campionamento a 1 ora. L'opzione -o definisce il percorso e il nome base dei file di output.
Dopo aver creato il Data Collector Set con Logman, ricordati di avviarlo in modo esplicitoIn caso contrario, l'acquisizione non inizierà. Puoi anche farlo con Logman (logman start CPUCounter) o, se hai un'interfaccia grafica disponibile, dalla console di Performance Monitor. Tieni presente che se hai appena eliminato un collector, Windows potrebbe impiegare un po' di tempo per elaborare la modifica; se ricevi errori, attendi qualche minuto o aggiorna la pagina e riprova.
Microsoft documentazione ufficiale La documentazione ufficiale di Logman descrive in dettaglio tutte le sue opzioni avanzate (inclusi modelli, configurazioni di esportazione e importazione e compatibilità tra versioni), che dovresti consultare quando desideri configurare una soluzione di telemetria con script su larga scala.
Integrazione con strumenti di terze parti e Windows PerfMon
Molte piattaforme di storage e virtualizzazione, come DataCore SANsymphonyEspongono i loro contatori delle prestazioni tramite Windows Performance Monitor. Ciò avviene tramite un livello di integrazione che consente di visualizzare, registrare e analizzare le metriche specifiche del software dall'interno di PerfMon come se fossero contatori di sistema nativi.
Nel caso di DataCore, ad esempio, esiste una console separata chiamata Configurazione del monitor delle prestazioni DataCoreche viene eseguito localmente su un server DataCore. Questa console semplifica la selezione dei contatori e delle istanze SANsymphony relativi alle prestazioni, evitando di dover cercare nell'infinito elenco di contatori del sistema operativo.
Il flusso è il seguente: dalla console si scelgono le categorie, le istanze e i contatori di SANsymphony, li si aggiunge all'elenco di "Contatori attualmente esportati in PerfMon" E da lì, si creano set di raccolta dati da quei contatori specifici. Un servizio Windows chiamato Agente DataCore Perfmon (DcsPerfMonAgent) È responsabile della raccolta e dell'invio dei dati a PerfMon. Se il servizio non è in Boot Automatico: può essere avviato dalla console stessa, ma è consigliabile modificare il tipo di avvio in Automatico per renderlo persistente.
Dal pannello Data Collector della console DataCore è possibile creare, modificare ed eliminare set di raccolteÈ sufficiente assegnare un nome al Data Collector Set, selezionare i contatori inclusi e salvare. È anche possibile modificare i Data Collector Set esistenti, aggiungendo o rimuovendo contatori secondo necessità, oppure eliminare interi set quando non sono più utili.
L'integrazione con Windows Performance Monitor presenta un doppio vantaggio: I dati sono disponibili sia sulla console delle prestazioni stessa sia sulla console delle prestazioni. (dove è possibile visualizzare grafici, report e log), nonché per applicazioni di terze parti che leggono i contatori di Windows (sistemi di monitoraggio centralizzati, strumenti di pianificazione della capacità, ecc.). In questo modo, la telemetria locale non è isolata, ma integrata nella strategia di osservabilità complessiva dell'organizzazione.
Contatori chiave per CPU, memoria, disco e SQL Server
Quando si definiscono i set di raccolta dati, è essenziale scegliere i contatori giustiNon si tratta di aggiungere centinaia di metriche a casaccio, ma di selezionare quelle che forniranno informazioni significative sullo stato del sistema e delle applicazioni.
Per le CPU, i contatori più comuni in PerfMon sono % Tempo processore, % Tempo inattivo, % Tempo privilegiato e % Tempo utenteIl primo riflette la percentuale di tempo che i processori impiegano nell'esecuzione dei thread del programma (attività generale), mentre %Idle Time indica il tempo di inattività (solitamente basso durante le ore di punta sui sistemi server). %Privileged Time mostra il tempo che il processore impiega sul codice del kernel/sistema operativo e %User Time il tempo impiegato sui processi utente (SQL Server, antivirus, applicazioni, ecc.). Un'elevata combinazione di %Processor Time e %Privileged Time potrebbe suggerire problemi con autisti, I/O o kernel.
Nella memoria, due contatori molto rivelatori sono Pagine/sec e errori di pagina/secPagine/sec indica la frequenza con cui il sistema utilizza il disco per scambiare dati relativi alla memoria (ovvero, quanto tempo viene effettuato il paging), mentre Errori di pagina/sec conta gli errori di pagina (errori che comportano l'accesso alla memoria in una posizione diversa da quella prevista). Valori costantemente elevati indicano solitamente RAM insufficiente o problemi di configurazione che impongono un paging eccessivo.
Per l'archiviazione, PerfMon offre contatori come Media secondi/lettura disco, Media secondi/scrittura disco, Lunghezza coda disco corrente e Lunghezza coda disco mediaI primi due misurano il tempo medio di lettura o scrittura su disco; se sono costantemente elevati, si verifica un collo di bottiglia I/O. Le code (lunghezza corrente e media della coda del disco) indicano il numero di operazioni in sospeso; se aumentano significativamente contemporaneamente al picco dei tempi di lettura/scrittura, è probabile che vi sia un problema di saturazione del disco o che i processi generino troppe operazioni.
Sui server di database, i Contatori di SQL Server I contatori essenziali includono gruppi come Metodi di accesso di SQL Server (utilizzo di tabelle e indici), SQL Server Buffer Manager (correlato alla memorizzazione nella cache dei dati: percentuale di hit della cache, pagine libere, aspettativa di vita, ecc.), Statistiche generali di SQL Server (accessi, disconnessioni, connessioni utente), Latch di SQL Server (blocchi di memoria brevi), Blocchi di SQL Server (blocchi e deadlock) e Statistiche SQL di SQL Server (numero di batch, build e ricompilazioni). Questi contatori aiutano diagnosi di errore del database E, combinati con CPU, memoria e disco, consentono di stabilire se il problema riguarda il database o il sistema sottostante.
Un dettaglio importante è quello I valori del contatore non dovrebbero mai essere interpretati in modo isolatoÈ importante considerare il periodo misurato, il numero di campioni, il contesto (carico di sistema tipico, numero di utenti, processi in esecuzione) e se sono presenti più contatori che, insieme, indicano la stessa causa. Spesso, non si notano picchi di tensione massicci su un singolo contatore, ma piuttosto piccoli picchi di tensione distribuiti su più contatori, il che complica la diagnosi ma rende ancora più prezioso disporre di dati di telemetria storici.
Hotfix, compatibilità e dettagli di sistema
In alcune versioni di Windows, in particolare Windows 7 e Windows Server 2008 R2, PerfMon e i suoi componenti associati hanno avuto problemi occasionali che Microsoft ha risolto tramite specifiche correzioni (hotfixQuesti hotfix in genere risolvono bug specifici descritti negli articoli della Knowledge Base e, come raccomandazione ufficiale, dovrebbero essere applicati solo se il sistema è interessato esattamente dal problema descritto.
Normalmente, quando una patch è disponibile per il download diretto, nell'articolo Microsoft verrà visualizzata la sezione "Download patch disponibile". Se non viene visualizzata, Devi contattare il supporto Microsoft. Per ottenerlo. A volte, l'applicazione di questi hotfix installa nuovi file (DLL, EXE, OCX, ecc.) con versioni specifiche che indicano se il sistema è in RTM, SP1, GDR o LDR. Inoltre, vengono aggiunti file MANIFEST e MUM, insieme a cataloghi di sicurezza (.cat) per mantenere la coerenza dei componenti.
Per quanto riguarda i requisiti, molti di questi hotfix necessitano che nel sistema sia installato uno specifico Service Pack (ad esempio, SP1 in Windows 7/2008 R2) e, nella maggior parte dei casi, non richiedono modifiche al registro di sistema, ma richiedono il riavvio del sistema dopo l'installazione. Questi dettagli sono fondamentali per garantire che l'ambiente di telemetria (PerfMon, Resource Monitor, Data Collector Set, ecc.) si comporti in modo stabile nel tempo.
Nella documentazione tecnica di Microsoft troverete ampie tabelle che descrivono in dettaglio i file aggiornati: nome, versione, dimensione, data, ora e piattaforma (x86, x64, IA-64). Anche se questo può sembrare un livello di dettaglio molto elementare, Questa informazione è molto utile per verificare che l'hotfix sia stato applicato correttamente. e che non vi siano conflitti di versione tra le librerie di sistema.
Questo intero ecosistema di revisioni, compatibilità dei modelli, versioni XML dei Data Collector Set e strumenti ausiliari come Logman rende la telemetria locale con PerfMon un po' complessa, ma offre anche un enorme flessibilità per adattarsi praticamente a qualsiasi ambiente Windows, dalle workstation alle grandi server farm.
Quando si combinano contatori ben scelti, set di raccolta dati attentamente pianificati, integrazione con altre piattaforme e configurazione attenta di limiti di spazio e tempo, PerfMon diventa un alleato molto potente per comprendere il funzionamento della tua infrastruttura, anticipare i problemi e risolvere incidenti che sarebbero impossibili da diagnosticare a prima vista basandosi esclusivamente sui sintomi dell'utente.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
