Il libro Self Service Linux illustra, nell’Appendice B, un interessante strumento per la rapida raccolta delle informazioni di sistema, che può risultare utile nella difficile arte del troubleshooting. Si tratta di uno script bash — liberamente scaricabile dal sito dell’editore APOGEO — che a detta dei suoi autori, Mark Wilding e Dan Behman, è solo una buona traccia per farlo diventare uno strumento completo.
D’altronde per chiamare un Data Collector “Vacuum”, ossia aspirapolvere, è necessario che mantenga fede alla sua vocazione.
Questo script sfrutta il file system /proc per le informazioni di sistema e i comandi UNIX per la diagnostica di funzionamento di alcuni dei servizi più critici del kernel. La sua struttura si ramifica dalla $HOME/investigations — che è necessario creare manualmente la prima volta — dove ad ogni lancio viene creata una directory nominata con un numero progressivo. I file più interessanti del /proc (cpuinfo, meminfo, modules, fstab, ecc.) vengono copiati nella directory data mentre il log generato dalla diagnostica dei diversi comandi UNIX è rappresentato dal file inv.txt.
Dei diversi parametri previsti solo -thorough è l’unico operativo se si esclude -hang che fa il semplice controllo dell’esistenza di un processo in esecuzione attraverso il kill -0 del PID. Lo switch -thorough invece ha come scopo quello di raccogliere molte più informazioni a discapito della velocità di esecuzione e di occupazione delle risorse di sistema, quindi attenzione a lanciarlo su macchine di produzione a pieno carico. Questo switch aggiunge, rispetto al default, all’interno dell’inv.txt queste nuove statistiche: Virtual Memory, I/O, Extended I/O, CPU e System activity.
Fare l’assistenza remota di un sistema può essere molto difficile, specialmente quando a fronte di un problema si vogliono conoscere una serie di informazioni che normalmente il client non sa come ottenere o non riesce a compiere quello che gli viene dettato. In questo caso lo script può essere schedulato ad intervalli regolari e magari, con qualche modifica, predisposto per l’invio automatico via e-mail dei dati raccolti.
di Alessandro Carichini - Programmazione.it