-
Surveiller ses logs avec Logwatch
Logwatch est un utilitaire qui va examiner les logs des différents services et qui va ensuite envoyer par mail un résumé journalier de ces logs plus ou moins précis selon le paramétrage que vous aurez choisi.
Tutoriel réalisé sur une debian squeeze
Installation:
Pour installer Logwatch sur une Debian la commande est la suivante :
sudo apt-get install logwatch
Lors de l'installation de Logwatch sur Debian squeeze, le mail transfert agent (MTA) exim4 et l'agent de courriel heirloom-mailx seront automatiquement installés.
PS: je trouve postfix plus simple à configurer que exim, je vais donc supprimer exim et installer postfix, mais rien ne vous empêche de garder postfix.
sudo apt-get autoremove --purge exim4-base exim4-config exim4-daemon-light && sudo apt-get install postfix
Je vais maintenant lancer la configuration de postfix avec la commande suivante:
sudo dpkg-reconfigure postfix
ici, j'ai choisi Internet avec un « smarthost » pour que postfix utilise un relais SMTP pour envoyer des courriels à l’extérieur.
(cliquer sur l'image pour l'agrandir)
Entrer ensuite le nom de courrier qui est est le nom de votre machine (nom présent dans le /etc/hosts)
PS: pour configurer le nom de machine, j'ai entré la commande suivante en root :
echo "127.0.0.1 localhost srvdebian srvdebian.mickael.fr" > /etc/hosts
(cliquer sur l'image pour l'agrandir)
Entrer ensuite le nom du relais smtp par lequel les mails seront envoyés.
(cliquer sur l'image pour l'agrandir)
Pour finir, entrer l'adresse du destinaire des mails.
(cliquer sur l'image pour l'agrandir)
Faisons maintenant un test d'envoi de mail avec la commande suivante (avec les guillements) :
echo "ca fonctionne" | mail -s "Sujet test postfix" michaelbonnard@sfr.fr
On peut voir que l'envoi de mail de srvdebian.mickael.fr vers mon adresse mail fonctionne.
(cliquer sur l'image pour l'agrandir)
Configuration:
Il faut d'abord créer un répertoire de cache pour logwatch avec la commande suivante:
sudo mkdir /var/cache/logwatch
Nous allons ensuite tester l'envoi d'un résumé par logwatch avec la commande suivante :
sudo /usr/sbin/logwatch --mailto michaelbonnard@sfr.fr --detail med --format html
--mailto pour indiquer le destinataire du mail
--detail med correspond au niveau de détail du résumé (il existe 3 niveaux qui sont low,med et high)
--format html correspond au format du mail (vous pouvez remplacer html par text)
Nous pouvons observer que suite à la commande logwatch a bien envoyé un résumé.
(cliquer sur l'image pour l'agrandir)
Par contre logwatch envoie des mails sous root@srvdebian.mickael.fr et je voudrais qu'il les envoie sous logwatch@srvdebian.mickael.fr.
Pour cela je vais utiliser la translation d'adresses de postfix.
J'entre les commandes suivantes en root (avec les guillements):
echo "smtp_generic_maps = hash:/etc/postfix/generic" >> /etc/postfix/main.cf
echo "root@srvdebian.mickael.fr logwatch@srvdebian.mickael.fr" > /etc/postfix/generic
sudo postmap /etc/postfix/generic
sudo postfix reloadGrâce à cette translation, on peut voir que logwatch envoie bien les mails sous logwatch@srvdebian.mickael.fr
(cliquer sur l'image pour l'agrandir)
(cliquer sur l'image pour l'agrandir)
(cliquer sur l'image pour l'agrandir)
(cliquer sur l'image pour l'agrandir)
Pour terminer, je vais demander a logwatch de m'envoyer un mail de résumé chaque jour.
Lors de l'installation de logwatch, celui-ci a crée un fichier 00logwatch dans /etc/cron.daily/.
Je vais donc éditer ce fichier avec la commande:
sudo nano /etc/cron.daily/00logwatch
J'y insère la commande:
/usr/sbin/logwatch --mailto michaelbonnard@sfr.fr --detail med --format html
Je relance ensuite cron avec la commande suivante:
sudo /etc/init.d/cron restart
(cliquer sur l'image pour l'agrandir)
Voilà, maintenant avec logwatch vous recevrez maintenant tous les jours un résumé de vos différents logs.
Tags : logwatch, postfix, mail
-
Commentaires