Surveillez les logs de votre serveur avec logwatch

Surveillez les logs de votre serveur grâce à Logwatch

Si vous administrez un (ou plusieurs) serveurs, vous avez certainement envie de connaître son état de santé, sans pour autant y être connecté tous les quatre matins.

Le top serait que l’information arrive à vous, triée et résumée, directement dans votre boîte mail. C’est exactement ce que propose Logwatch.

Logwatch ?

Le principe de Logwatch est simple : quotidiennement, il va lire les logs de votre serveur pour en extraire les informations du jour, les trier et vous envoyer le résumé par mail.

Comme les logs des services sont copieux, pour faciliter l’analyse en cas de problèmes, un outil comme celui-ci est nécessaire pour vous informer en un coup d’oeil.

Et bien sûr, Logwatch est gratuit, Open source. Et il est écrit en perl.

La configuration

L’installation de Logwatch est simple, il suffit de faire appel au gestionnaire de packages de votre système (yum, apt-get, …).

Ensuite, il ne reste plus qu’à passer à la configuration. Tout se passe dans /usr/share/logwatch/default.conf/logwatch.conf.

Ce fichier est bien documenté, et permet de s’en sortir sans trop de peine. Voyons tout de même quelques paramètres.

Pour recevoir le rapport dans votre boîte mail, il suffit de renseigner votre adresse mail et d’indiquer à Logwatch de ne pas afficher directement le résultat :

MailTo = address@mail
Print = No

Si vous voulez désactiver l’envoi quotidien de mail, il suffit de décommenter cette ligne :

DailyReport = No

Sachez que vous pouvez également remplacer l’envoi du rapport par mail par une sauvegarde de celui-ci dans un répertoire du serveur :

Save = /tmp/logwatch

Pour information, le lancement quotidien est géré par cron.daily :

/etc/cron.daily/0logwatch

Gestion des services

Les services surveillés par Logwatch peuvent être activés ou non.

L’activation est gérée dans le fichier de configuration.

Par défaut, tous les services sont activés avec ce paramètre :

Service = All

Les services disponibles sont disponibles dans ce dossier :

/usr/share/logwatch/default.conf/services/

Les versions actuelles contiennent environ 370 fichiers correspondants à des services. Autant dire qu’il y a de quoi faire.

Pour activer seulement certains services, il suffit de les lister, avec un service par ligne.

Service = http
Service = php

Le nom du service correspond au nom du fichier de service sans l’extension .conf.

Si vous voulez tout activer sauf certains services, il suffit d’ajouter un - devant le nom du service. Par exemple, pour surveiller tous les services sauf HTTP :

Service = All
Service = "-http"

Lancement manuel

Vous pouvez également démarrer Logwatch sans attendre son démarrage quotidien :

logwatch

Cette commande démarre Logwatch avec la configuration définie dans le fichier logwatch.conf. Ainsi, si l’affichage est désactivé et une adresse mail est définie, rien ne s’affichera, le rapport sera envoyé par mail.

Pour forcer l’affichage du rapport (sans envoi de mail) :

logwatch --print

Pour changer le niveau de détail et ne sélectionner que certains services :

logwatch --detail High --service http --print

Et ainsi de suite.

Exemple de résultat

Pour finir, voilà à quoi ressemble un rapport généré par Logwatch :

 ################### Logwatch 7.3.6 (05/19/07) #################### 
        Processing Initiated: Thu Feb 20 03:39:02 2014
        Date Range Processed: yesterday
                              ( 2014-Feb-19 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: monserveur.com
  ################################################################## 

 --------------------- Named Begin ------------------------ 

 ---------------------- Named End ------------------------- 

 --------------------- proftpd-messages Begin ------------------------ 

<Les messages concernant par FTP>

 ---------------------- proftpd-messages End ------------------------- 

 --------------------- Connections (secure-log) Begin ------------------------ 

<Les connexions>

 ---------------------- Connections (secure-log) End ------------------------- 

 --------------------- SSHD Begin ------------------------ 

<Les connexions par SSH, en échec ou non>

 ---------------------- SSHD End ------------------------- 

 --------------------- yum Begin ------------------------ 

<Les packages installés>
 ---------------------- yum End ------------------------- 

 --------------------- Disk Space Begin ------------------------ 

 <L'espace restant sur chaque partition>

 ---------------------- Disk Space End ------------------------- 

 ###################### Logwatch End #########################

Le mot de la fin

Je vous conseille de conserver un historique des derniers rapports reçus pour pouvoir analyser l’évolution d’un jour à l’autre en cas de besoin.

Cet article vous a été utile ? Partage it !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Si vous le souhaitez, renseignez le champ 'Nom' de cette façon : 'VotreNom@VotreMotClef' pour obtenir une ancre optimisée pour les moteurs de recherche.