13. 02. 2009 Patrick Zambelli Unified Monitoring

Hard Disk health status monitoring con S.M.A.R.T.

Hard Disk health status monitoring

Il continuo monitoraggio della situazione di salute del sistema e’ fondamentale per l’amministratore di sistema per individuare possibili problemi e per prevenire disservizi causati da hardware difettoso.

Per questo e’ fondamentale definire appositi check per monitorare le infrastrutture utilizzate nella propria infrastruttura.

Status del disco fisso

Sistemi moderni permettono la lettura di valori dettagliati del proprio hardware per monitorare e prevedere eventuali problemi. In specifico per leggere lo stato di salute di dischi rigidi (Hard Disk) e’ stata definito lo standard S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) un sistema di monitoraggio per dischi rigidi, per rilevare e fornire diversi indicatori di affidabilità, nella speranza di anticipare i malfunzionamenti.

Il monitoraggio di un disco rigido può predire circa il 60% dei possibili malfunzionamenti. S.M.A.R.T. ha lo scopo di avvisare l’utente o l’amministratore di sistema che il disco rigido sta per guastarsi, in modo che questi abbia il tempo di copiare i dati su un altro dispositivo di archiviazione. Bisogna però anche notare che la sola compatibilità SMART non implica che tutti produttori forniscono i stessi dettagli di informazione, ma in genere si ottengono valori come:

• tempo totale di utilizzo (Indicatore anche per la durata di vita rimanente)
• azioni di avvio/spegnimento
• performance durante l’accesso dei dati
• temperatura del hard disk
• errori di lettura

La lettura di queste informazioni per implementare poi il monitoring con Nagios avviene attraverso il sistema operativo locale, che mantiene anche in controllo sui dischi fissi. Le strategie per accedere a questi valori varia invece da sistema. Qui vogliamo presentare le possibili configurazioni sotto sistemi Linux e Windows.

Monitoraggio del disco fisso sotto Linux

Su un sistema basato su Linux viene fornito un modulo per leggere direttamente i valori SMART dal sistema. Nella distribuzione RedHat utilizzata anche per i server NetEye va utilizzato il “smartctl” che si trova in /usr/sbin. Visto che si tratta di un modulo di sistema protetto sarà necessario configurare il check di Nagios con diritti da amministratore. La chiamata con sudo e’ gia’ implementata dentro il check utilizzato, e’ pero’ necessario abilitare l’utente Nagios (e anche Apache se vogliamo testare il funzionamento da Monarch in NetEye) per eseguire sudo senza richiesta della password.

Per questo si apre il file “sudoers” con il commando speciale: [root@neteye etc]# visudo

Per aggiungere i diritti necessari si confiura in fondo della configurazione questa sintassi:
apache ALL = NOPASSWD: /usr/sbin/smartctl
nagios ALL = NOPASSWD: /usr/sbin/smartctl

Adesso e’ gia’ possibile definire il check in Nagios. Il Plugin Nagios specifico puo’ essere scaricato dal portale di Plugin: http://exchange.nagios.org/

Ora la configurazione del commando di check:
Commando: $USER1$/check_smart -d $ARG1$ -i $ARG2$
dove $USER1$ punta alla cartella dei plugin Nagios. –d ottiene il dispositivo da monitorare e –i specifica l’interfaccia.

La chiamata del servizio “DisksHealth: sda”: check_smart!/dev/sda!ata
/usr/lib/nagios/plugins/check_smart -d /dev/sda -i ata
OK: no SMART errors detected

In aggiuntivo si ottengono i seguenti valori dal sistema controllato:
Spin_Up_Time=6721 Start_Stop_Count=31 Reallocated_Sector_Ct=0 Read_Channel_Margin=0 Seek_Error_Rate=0 Seek_Time_Performance=59458 Spin_Retry_Count=0 Calibration_Retry_Count=0 Power_Cycle_Count=32 Power-Off_Retract_Count=0 Load_Cycle_Count=0 Temperature_Celsius=36 Hardware_ECC_Recovered=749 Reallocated_Event_Count=0 Current_Pending_Sector=0 Offline_Uncorrectable=0 UDMA_CRC_Error_Count=0 Multi_Zone_Error_Rate=0 Soft_Read_Error_Rate=68 TA_Increase_Count=0 Run_Out_Cancel=0 Shock_Count_Write_Opern=0 Shock_Rate_Write_Opern=0 Spin_High_Current=0 Spin_Buzz=0 Offline_Seek_Performnce=0

Monitoraggio del disco fisso sotto Windows

Come sui sistemi Linux-based anche sotto Windows esiste una fonte dei dati. Per questo si offrono le fonti WMI (Windows Management Instrumentation) che possono essere letti attraverso apposite Query dal sistema stesso.
Per il monitoraggio si propone in questo caso l’agente NSClient++ che permette a Nagios di chiamare l’esecuzione di un determinato check.

A lato server/client Windows si procede ora alla configurazione del check da eseguire.
Copiare il script check_smart.vbs nella cartella scripts” del NSClient++. (ie. C:\Program Files\NetEyeNSClient++\scripts).

Configurazione NSClient per esecuzione del check:
Aprire in un editor il file NSC.ini della cartella del NSClient++ e:
• abilitare la riga del NRPEListener.dll
• Nella sezione del [NRPE Handlers] aggiungere questo commando:
checksmart=cscript //NoLogo scripts\check_smart.vbs $ARG1$

Configurazione del check command in Nagios: (non non gia’ configurato)
Commando: $USER1$/check_nrpe -t 50 -H $HOSTADDRESS$ -c $ARG1$
dove $USER1$ punta alla cartella dei plugin Nagios. –d ottiene il dispositivo da monitorare e –i specifica l’interfaccia.

Per monitorare ora il primo disco del sistama di definisce il seguente servizio:
DISK Health C: check_nrpe!checksmart -a 0
La chiamata del servizio ci titorna quindi il seguente risultato:
/usr/lib/nagios/plugins/check_nrpe -t 50 -H 10.62.5.250 -c checksmart -a 0
SMART Status is OK| MAXTOR STM380215AS 74 GB

Conclusione

In combinazione al monitoraggio di utilizzo dei dischi e della memoria questo check può essere utile per scoprire eventuali problemi a livello hardware per prevedere problemi sul funzionamento del sistema.

Infine bisogna sempre notare che la decisione se ci sono problemi o se lo stato e’ ok risiede a livello del sistema operativo. Nagios gioca solo il ruolo di leggere queste informazioni e di notificarle ai gruppi di amministratori interessati.

Link

Nagios Plugin per il monitoraggio dei valori SMART su sistemi Linux.
NagiosExchange: http://exchange.nagios.org/

Funzionamento standard SMART:
http://it.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology

Microsoft WMI:
http://technet.microsoft.com/it-it/library/cc754240.aspx

Patrick Zambelli

Patrick Zambelli

Project Manager at Würth Phoenix
After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Author

Patrick Zambelli

After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive