Monitorare file creati, modificati e cancellati in una directory

Postato da ROb | nella categoria Linux, Utilità | martedì, 14 settembre 2010

0

Qualche volta può tornarci utile conoscere con esattezza tutti i file che vengono creati, modificati e cancellati in una specifica cartella.

Un modo semplice per farlo è sfruttando il comodissimo pacchetto inotify-tools che include al suo interno il comando inotitywait.

Il seguente script si mette in attesa e segnala in output gli eventi accaduti per la directory specificata:

#!/bin/bash

directory=$1

inotifywait -q -m --format '%f %e' -e modify -e move -e create -e delete ${directory} | while read line

do
	echo "doing something with: $line";

	# for example:
	# java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
done

Può essere invocato in questo modo, passando come primo e unico parametro la directory da monitorare:

./inotify.sh ~/Desktop/download/

ed emette ouput di questo tipo:

doing something with: Stack Overflow_screenshot.png MOVED_FROM
doing something with: printecdisplay.pdf DELETE
doing something with: ecommerce_03.html CREATE
doing something with: ecommerce_03.html MODIFY
doing something with: avatar_908.png CREATE
doing something with: avatar_908.png MODIFY

Ovviamente il tutto può essere modificato a proprio piacimento per eseguire operazione o avere notifiche via mail (o qualsiasi altra cosa creativa vi venga in mente).

Come tenere sotto controllo la propria linux box con Conky

Postato da ROb | nella categoria Linux | sabato, 23 gennaio 2010

0

Per tutti gli appassionati di Linux e soprattutto per tutti coloro che amano avere sempre tutto sotto controllo ecco a voi Conky.

Conky è un sistema di monitoraggio leggero del proprio desktop X-Window che disegna nel desktop della nostra stazione di lavoro tutti i parametri della macchina e qualsiasi cosa ci venga in mente.

Conky

Si avvia come un demone all’avvio dell’ambiente grafico e rinfresca il desktop a intervalli regolari con i nuovi parametri ricevuti dal kernel.
I parametri più comuni sono: nome host, tipo e versione del kernel, uptime, frequenza del/dei processori, memoria totale, disponibile e virtuale, utilizzo del processore, occupazione dei filesystem.

Le informazioni da visualizzare e qualsiasi altra impostazione sono regolate da un file di configurazione utente che si chiama .conkyrc situato all’interno della home directory.

A seconda che siano attivi o meno desktop tridimensionali come Compiz o Beryl è necessario attivare specifiche opzioni per evitare che la visualizzazione non avvenga in modo distorto, ma per queste specificità vi rimando direttamente al sito del progetto.

Qui potete invece trovare il mio file di configurazione.
Io attualmente utilizzo un Ubuntu 8.04 con Compiz/Fusion attivo. L’avvio di Conky (che si può effettuare anche manualmente attraverso il comando conky -d) è stato inserito con il seguente script all’interno delle sessioni di Gnome (System => Preferences => Sessions) per attendere che il window manager fosse correttamente caricato.

#!/bin/bash

sleep 60 && conky -d

Zabbix: strumento di Monitoraggio Open Source

Postato da ROb | nella categoria Informatica in generale, Linux | sabato, 23 gennaio 2010

1

Zabbix è forse una delle mie più belle scoperte di questi anni (ovviamente in ambito di software).

Nel panorama del software Open Source di monitoraggio gode indubbiamente di una buonissima posizione, combattendo spalla a spalla con Nagios.

Il prodotto negli ultimi due anni è stato aggiornato continuamente e si trova attualmente alla versione 1.8.

Zabbix consiste di un demone lato server che raccoglie informazioni dagli host a cui è connesso (definiti tramite la configurazione web) e li memorizza in un database Mysql (ma anche PostgreSQL, Oracle, SQLite).

Di ogni host può monitorare la variabili più importanti ma è anche in grado di estrarre informazioni più specifiche (grazie ad item definiti dall’utente).

Il server Zabbix parla o con i rispettivi agent attivi sugli host monitorati oppuri con gli agent nativi snmp degli host o degli apparati.

Di ogni item censito è in grado di costruire un grafico e con una serie di grafici è possibile costruire uno o più screen o mappe.

Uno screen di Zabbix

Uno screen di Zabbix

Se il valore di un item supera un certo range o scende sotto una soglia definita è possibile sollevare un trigger che scatena 1 o più azioni come l’invio di una mail oppure l’invio di un sms o l’esecuzione di uno script definito.

Nel mio caso l’ho provato su una macchina virtuale VMWare con Ubuntu 7.04 server con 512Mb e 10Gb di spazio disco e la macchina non ha mai sofferto di problemi di performance.

Il server esegue periodicamente anche delle operazioni di housekeeping che mantengono il database pulito.

Lo screenshot rappresenta l’interfaccia di configurazione via web (in PHP), non sempre leggera e intuitiva ma indubbiamente potente e funzionale.
Nelle ultime versioni gli sviluppatori si sono proprio concentrati su questo aspetto aggiungendo anche la possibilità di editare screen e mappe utilizzando il drag-n-drop.

Inoltre, sempre dalla versione 1.8, è stata aggiunta la possibilità di inserire delle espressioni regolari per il controllo dei log dei server, nonchè la possibilità di monitorare da remoto il server utilizzando delle API JSON.
Per la lista completa delle ultime funzionalità e bug fixing vi rimando direttamente alla pagina del progetto.

Buon monitoraggio a tutti!

Robbix