Questa è una vecchia versione del documento!
Intro
logwatch è un insieme di script Perl che permette il monitoraggio a scadenze regolari (per es. giornaliero) dei log di sistemi e dei log degli applicativi.
Configurazione per invio mail
È necessario configurare un server SMTP per l'invio dei messaggi di posta, altrimenti questi vengono normalmente inoltrati alla mail dell'utente root locale alla macchina.
A tale scopo è spesso sufficiente installare ssmtp, che permette di inoltrare qualsiasi mail indirizzata ad un utente locale (come root) ad un account esterno specificando il server SMTP da utilizzare.
ssmtp
Nel nostro caso, per tutte le macchine interne è possibile specificare come server il nostro vecchio server di posta dns3.bo.priv, che è a disposizione per il solo inoltro di mail mediante SMTP non autenticato su porta 25.
Si riporta un esempio di file di configurazione per Ubuntu:
- /etc/ssmpt/ssmpt.conf
# # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=system-admin@3di.it # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=dns3.bo.priv # Where will the mail seem to come from? rewriteDomain=3di.it # The full hostname hostname=tomcat-test.bo.priv # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address #FromLineOverride=YES
postfix
Nel caso di utilizzo di postfix (dns3), è stato necessario aggiungere una configurazione apposita per rimappare gli indirizzi @bo.priv (dominio ora in gestione dal server dns3) a @3di.it, mediante l'opzione smtp_generic_maps nel file main.cf:
##### AGGIUNTE DOPO PASSAGGIO ARUBA ###### smtp_generic_maps = hash:/etc/postfix/generic
il file generic và popolato con la seguente mappatura:
@bo.priv root@3di.it
Nel caso di modifiche al file /etc/postfix/generic (che contiene le mappature precedentemente descritte), eseguire
postmap /etc/postfix/generic
e riavviare postfix per applicare le modifiche.
logwatch
Per poter funzionare correttamente, è necessario specificare a logwatch che quando viene eseguito dal daily cron job (sito normalmente in /etc/cron.daily/00-logwatch o /etc/cron.daily/0logwatch, a seconda della distro utilizzata) la mail che crea deve essere inoltrata ad un utente ben specifico, ovvero l'utente specificato per l'inoltro della mail nella configurazione di ssmtp.
Nel nostro caso, tale utente è root (perché così specificato in ssmtp o postfix, come indicato nelle sezioni precedenti), per cui il file eseguito dal cron.daily assumerà un aspetto simile a questo (possono esserci differenze triviali da una distro all'altra anche qua):
- /etc/cron.daily/00-logwatch
#!/bin/bash #Check if removed-but-not-purged test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0 #execute /usr/sbin/logwatch --output mail --mailto root #Note: It's possible to force the recipient in above command #Just pass --mailto address@a.com instead of --output mail