Come monitorare attività e traffico dati di una macchina Windows

di Massimo Mirra

scritto il

Guida all'uso di Performance, lo strumento di Windows in grado di monitorare in tempo reale le prestazioni di sistema del sistema operativo

Indipendentemente dalle dimensioni e dal grado di complessità, le reti oggi devono produrre risultati e prestazioni ottimali. Crash delle applicazioni ed errori di sistema possono comprometterne la produttività ed avere gravi ripercussioni sull’utile d’impresa. Le aziende di medie dimensioni che, al pari delle grandi imprese, si avvalgono di reti sempre più complesse, necessitano di soluzioni pratiche per gestire la propria rete in maniera ottimale.

In un mercato ormai saturo di soluzioni di gestione aziendale complesse e costose, c’è urgente bisogno di sistemi di gestione di rete in grado di offrire scalabilità, usabilità ed espandibilità a fronte di un eventuale investimento iniziale minimo.

Ma prima di mettere mano al portafoglio e passare ad applicativi che ci permettono un monitoraggio centralizzato della nostra rete, sarà bene dare un’occhiata ad una piccola utilità che il nostro sistema operativo Windows ci mette a disposizione.

In questo articolo offriremo una panoramica su un utile strumento per il monitoraggio ed il controllo delle attività e del traffico di rete in ingresso ed in uscita dalla nostra macchina. Assumeremo che l’architettura di rete abbia una complessità medio bassa e che le macchine montino sistemi operativi Microsoft Windows Server2003 / XP Professional / 2000 / NT.

Performance

Forse non tutti sanno che, Microsoft ci fa gentile concessione di Performance: un interessante tool che misura in tempo reale le prestazioni di sistema, processore, memoria, accessi a dischi e periferiche, attività di database, thread, processi attivi e naturalmente il traffico di rete. Ciò che, fra l’altro, rende davvero interessante questo strumento di monitoraggio, è la possibilità di loggare tutto ciò che i suoi contatori sono programmati a rilevare. I log possono essere caricati su file di diverso formato, quali Txt e Cvs o strutture Sql. Sarà dunque possibile eseguire statistiche e query aggiornate sul sistema sotto monitoraggio.

Non di meno Performance permette di impostare allarmi nel caso del verificarsi di eventi critici, prevedendo l’invio di messaggi di notifica e/o l’esecuzione di programmi o comandi ad hoc posti alla risoluzione dell’evento scatenante.

Per trovarlo non dovrete andare lontano. È sufficiente essere amministratori della macchina su cui si lavora ed accedere alle Administrative Tools sotto Pannello di Controllo.

In alternativa eseguire il comando

perfmon.msc /s

dal modulo di eseguzione raggiungibile dal percorso Start / Esegui.

Figura 1: Performance

Performance

Performance si presenta con tre sensori già impostati di default indicati nella lista in basso:

  • Memory
  • Phisical Disk
  • Processor

ed il grafico delle attività aggiornato in tempo reale.

I tre sensori default monitorano rispettivamente l’accesso alla memoria RAM, l’accesso ai dischi fisici ed il carico di lavoro del processore. Se non si ritiene necessario mantenere sotto controllo questi tre oggetti è possibile rimuoverli facilmente.

Senza perderci troppo in chiacchiere sulla flessibilità di questo piccolo ed utile strumento, che permettere di modificare a piacimento istogramma, colori e scala di misurazione, procediamo con l’inserimento degli oggetti che ci interessa porre in monitoraggio.

Monitoring in tempo Reale

Dopo aver cancellato tutti gli oggetti in lista, procediamo con il mettere sotto controllo i protocolli TCP, UDP, IP e ICMP cliccando sul tasto ‘+’. Da Performance object selezioniamo i protocolli da monitorare uno per volta: ICMP, TCP, UDP e IP come indicato in figura.

Figura 2: selezione dei protocolli

selezione dei protocolli

Passiamo adesso a descrivere in che modo è possibile effettuare log e programmare alert che ci permettano di mantenere il monitoraggio di tutto ciò che passa per la nostra macchina.

Loggare il traffico dati

Nella colonna di sinistra selezioniamo Counter Logs. Dal menu selezionare Action e poi New Log Settings. Diamo un nome al processo di log che vogliamo implementare, ad esempio: TCP_LOG. Nella finestra visualizzata, nel tab General procediamo come segue:

  • Selezioniamo il tasto Add Counter e da Performance object selezioniamo l’oggetto TCP.
  • Da qui, premendo il tasto Add, è possibile scegliere su una lista di contatori, oppure selezionarli tutti. Il tasto Explain fornisce informazioni dettagliate sui contatori disponibili per l’oggetto TCP.
  • Alla fine, premuto il tasto Close, otterremo una lista di contatori per il nostro oggetto TCP del tipo: <nome_macchina><oggetto><contatore>.

Nel tab LogFiles indicheremo a Performance il percorso, il nome del file ed il formato con cui salvare i LOG. Il tab Schedule permette una programmazione del nostro processo di LOG indicando data ed ora di START e di STOP del servizio.

A questo punto applichiamo e salviamo le modifiche. Ripetiamo la stessa procedura anche per gli altri oggetti che ci interessa monitorare, ad esempio: IP, UDP e ICMP.

Il nostro TCP_LOG si trova adesso nella lista dei Counter Logs. L’icona rossa al lato indica che il processo di log è fermo. Per attivarlo è possibile premere il tasto Play nella barra in alto o selezionare Start dal menu Action. Vedremo fra poco come è possibile programmare un Alert che attivi il processo di log. Se si è scelto di salvare i dati di log su file di formato Cvs con tabulazione "comma" ‘(virgola’), otterremo file  del tipo < Data ora, Identificativo contatore, valore >.

Allarmi e azioni

Come anticipato, Performance ci permette di impostare allarmi pronti a scattare nel caso in cui uno dei nostri sensori rilevi valori di dati al di fuori dei nostri parametri di controllo.

Selezioniamo nella colonna di sinistra la voce Alerts. Dal menu selezionare Action e poi New Alert Settings. Diamo un nome al processo di log che vogliamo implementare, ad esempio: TCP_ALERT.

Nella finestra visualizzata, nel tab General procediamo come segue:

  • Selezioniamo il tasto Add e da Performance object selezioniamo l’oggetto TCP.
  • Da qui, premendo il tasto Add, è possibile scegliere su una lista di contatori, oppure selezionarli tutti. Anche qui, il tasto Explain fornisce informazioni dettagliate sui contatori disponibili per l’oggetto TCP.
  • Alla fine, premuto il tasto Close, otterremo una lista di contatori relativi all’oggetto TCP del tipo: <nome_macchina><oggetto><contatore>.
  • Nel campo indicato come Alert when the value is indicare il valore oltre (Over) o sotto (Under) il quale il contatore deve attivare le azioni di Alert.

Nel tab Action indicheremo a Performance l’azione da intraprendere in caso di attivazione dell’Alert:

  • Invio di un messaggio.
  • Attivazione di un servizio di log, ad esempio TCP_LOG creato nella sezione precedente.
  • Esecuzione di un comando con specifici parametri.

Anche qui, il tab Schedule permette una programmazione del processo di Alert indicando data ed ora di START e di STOP del servizio.

Programmare gli Alert

Il problema a questo punto è capire cosa sia anomalo e cosa no, in modo da impostare gli alert nel modo migliore. Sicuramente, la definizione delle soglie di allarme dei contatori, andranno programmate in base alla natura della macchina sotto monitoraggio. Una macchina server che esegue traffico ICMP, ad esempio, è da ritenersi quantomeno sospetta. Una postazione client da ufficio che durante le ore notturne esegue traffico TCP/UDP potrebbe essere affetta da Worm o da Trojan Horse. E ancora, una macchia che funge da server Web, su cui si rileva un eccessivo uso del tempo di CPU e di memoria, o un elevato numero di tread, influisce su prestazioni e tempi di risposta, abbassando la qualità del servizio erogato fino anche causarne la cessazione.

In generale, un tuning adeguato dei sistemi di monitoraggio, è a discrezione ed appannaggio dell’amministratore di sistema della rete o macchina sotto osservazione.

Leggere i LOG

Messi a punto sensori e sistemi di allarme, Performance procederà con l’acquisizione di tutti i dati segnalando tutto ciò che riteniamo si tratti di un’anomalia. La lettura di tali informazioni saranno utili a migliorare le prestazioni e la qualità dei servizi resi dalla macchina sotto monitoraggio. Come detto, dall’export dei dati raccolti, non sarà difficile estrapolare statistiche, ad esempio, sull’accesso alla macchina e sulla qualità delle prestazioni rese durante la sua attività.

Conclusione

Usare al meglio questo strumento, permette di monitorare le prestazioni dei nostri sistemi in LAN o direttamente connessi ad Internet. I servizi di log e di alarm aiutano l’individuazione di traffico anomalo o attività di rete non volute. In questo articolo si è voluto evidenziare come, il piccolo applicativo d’amministrazione Performance, sia in grado di soddisfare le esigenze di monitoraggio del traffico dei dati, e non solo, a costo praticamente nullo.