Introduzione
Questa simpatica utility serve per tenere sotto controllo un qualsiasi log. Generalmente viene utilizzata per tenere sotto controllo il messages in modo semplice ed efficace.
Installazione
procuriamoci l’utility dal sito : http://fetchlog.sourceforge.net/
il formato e’ il classico tar.gz fetchlog-1.0.tar.gz
perciò da utente digitiamo
$ tar xvfz fetchlog-1.0.tar.gz
$ cd fetchlog-1.0
$ make
diventiamo root e digitiamo
# make install
Questo installerà il sw in INSTDIR/bin e la pagina di man in INSTDIR/man/man1.
Comunque è presente all’interno del pacchetto anche un file readme per l’integrazione con NAGIOS e SNMP.
Utilizzo
Vediamo come funziona:
fetchlog -F prima_colonna:ultima_colonna:lunghezza:conv logfile bookmarkfile [pattern ...]
fetchlog -f prima_colonna:ultima_colonna:lunghezza:conv logfile bookmarkfile [pattern ...]
Il programma una volta lanciato scorre il logfile indicato ed estrapola le righe che contengono la stringa di testo definita con pattern solo se compresa tra prima_colonna e ultima_colonna; in output avremo una righa di tanti caratteri quanto indicati dalla condizione lunghezza.
il parametro -f indica che fetchlog utilizzarà un file bookmark che avrà nome e path indicato. Questo file serve come segnalibro: indica da quale punto ripartire alla prossima iterazione dell’ utility.
il parametro -F indica di non usare il bookmark file
il parametro conv indica che tipo di convenzone usare per il pattern-matching di solito si utilizza s di shell, per ulteriori approfondimenti rimando alla pagina del man.
un interessante utilizzo e’ quello creare uno script schedulato a intervalli regolari nel cron che permette di ricercare particolari stringhe nel file messages (errori di applicazioni,problemi kernel etc) e se ne trova mandare una mail all’amministratore.
Il vantaggio di questa utility e’ la possibilita’ di usare piu’ segnalibri per il medesimo file in modo da differenziare la stringa di ricerca.
Esempi
Piccola script che ho schedulato nel crontab di un sistema per controllare se vengono rivelati eventuali errori del raid o dei dischi scsi. Se la condizione e’ verificata vengono inviate due mail per segnalare l’errore con lo stralcio del /var/log/messages relativo
#!/bin/sh
HOST=`/bin/cat /etc/hosts| /bin/grep \`echo $HOSTNAME\“
DATA=`/bin/date`
SPAZI=”########################################################”
FETCHLOG=”/usr/local/bin/fetchlog -F 1:100:200:s”
TO=”tuo.indirizzo@dominio.it”
CC=”cc.indirizzo@dominio.it”
MSGINT=”\n$SPAZI\n $DATA \n$SPAZI\n”
#controllo errori megaraid
MSG=`$FETCHLOG /var/log/messages /var/megaraid.sgn ‘kernel: megaraid: abort’`
if [ $? -gt 0 ]; then
echo -e “$SPAZI \nErrore Megaraid \n$SPAZI\n $MSGINT \n $MSG \n$SPAZI \n \n\n Nodo: $HOST “|/bin/mail -i -s “MEGARAID ERROR : $HOSTNAME” -c $CC $TO
fi
# controllo errori scsi
MSG=`$FETCHLOG /var/log/messages /var/scsioff.sgn ‘kernel: scsi: Device offlined’`
if [ $? -gt 0 ]; then
echo -e “$SPAZI \n ERRORE SCSI DEVICE MESSO IN OFFLINE\n$SPAZI\nNodo: $HOST \n$MSGINT \n $MSG \n$SPAZI “|/bin/mail -i -s “SCSI ERROR : $HOSTNAME” -c $CC $TO
fi
Conclusioni
Ho trovato questa utility molto utile per risolvere alcuni problemi che avevo nel gestire i log da remoto in maniera semplice pulita e senza dover utilizzare prodotti troppo pesanti
Fatemi sapere la vostra opinioe
0 risposte finora ↓
Non ci sono ancora commenti... Inizia tu riempiendo il modulo sottostante.