Ho già trattato diversi argomenti in cui veniva discussa la corretta configurazione di un logserver basato su sitemi *nix. Ora vedremo come monitorare mediante nagios3 il demone che si occupa della raccolta dei log.
Nella fattispecie, il demone in questione è rsyslogd, evoluzione del più datato syslogd. Esso consente di salvare le informazioni inviate dai vari dispositivi di rete su di un apposito file creato all'occorrenza, in modo da tenere traccia degli eventi più rilevanti.
Ora, tale demone (per default) rimane in ascolto sulla porta 514 ed utilizza per il protocollo UDP per il trasporto. Ciò significa che non è previsto alcun meccanismo di SYN SYN/ACK ACK come invece avviene per il protocollo TCP (molto più affidabile ma allo stesso tempo molto più oneroso in termini di banda).
Detto ciò, vediamo come monitorare lo stato di tale servizio sfruttando nagios3. Per prima cosa scarichiamo questo PERL script.
Successivamente salviamo il file appena scaricato nella directory /usr/lib/nagios/plugins e rinominiamolo in check_syslog:
nightfly@nightbox:/usr/lib/nagios/plugins$ sudo mv check_syslog_02.pl check_syslog
A questo punto rendiamo lo script eseguibile digitando:
nightfly@nightbox:/usr/lib/nagios/plugins$ chmod +x check_syslog
Definiamo il comando attraverso il quale verificheremo il corretto funzionamento di rsyslogd. Per fare ciò occorre creare il file syslogd.cfg il cui contenuto dovrà essere:
# 'check_syslogd' command definition
define command{
command_name check_syslog
command_line /usr/lib/nagios/plugins/check_syslog -l '$HOSTADDRESS$' -f '$ARG1$'
}
Posizioniamoci ora nella directory /etc/nagios3/conf.d ed editiamo il file di configurazione relativo al logserver aggiungendo il seguente servizio:
define service{
use generic-service ; Name of service template to use
host_name localhost
service_description Rsyslog
check_command check_syslog!/var/log/syslog
}
A questo punto occorre operare sui permessi di lettura/scrittura associati al file syslog. Per prima cosa posizioniamoci nella directory /var/log e lanciamo un ls -ila | grep syslog:
2097425 -rw-r----- 1 syslog adm 171910 2011-03-21 11:54 syslog
Come possiamo notare il gruppo che ha la possibilita di accedere al file in lettura è adm. Aggiungiamo l'utente nagios al gruppo adm editando il file group presente nella dir /etc:
adm:x:4:nagios
Riavviamo nagios3:
nightfly@nightbox:/etc$ sudo service nagios3 restart
ed abbiamo finito.
A presto.