Installer et utiliser l’analyseur de fichiers de log Logwatch sur CentOS 7

Recevoir des rapports système clairs et concis avec l’anayseur de logs Logwatch sous CentOS 7.

L’analyse des fichiers de log d’un serveur peut se révéler fastidieuse et difficile suivant le nombre et la complexité de services qui tournent sur une machine. C’est sur ce point que l’outil Logwatch peut aider l’administrateur système, en effet celui-ci rassemble différents fichiers de logs et les affiche de façon claire, sous la forme d’un rapport plus lisible que les fichiers bruts.

Logwatch n’est pas vraiment un outil destiné par exemple à lire les logs après un problème afin d’en trouver la cause, car en général une analyse plus poussée et ciblée doit être effectuée dans un tel cas, mais il est plus particulièrement utile pour faire du reporting sur l’état d’une machine à un moment donné. Par exemple l’utilisation classique qui est celle par défaut en général est d’avoir le rapport de la journée de la veille envoyée par email.

Installation de Logwatch sur une machine CentOS 7

La procédure d’installation sous CentOS se fait avec la commande yum, si vous êtes sur une version récente de Fedora, remplacez yum par dnf dans la commande ci-dessous :

$ sudo yum install logwatch

Configuration de Logwatch

Après installation, Logwatch est fonctionnel et une tâche cron a été ajoutée pour une exécution journalière. Mais il est également directement utilisable en ligne de commande, par exemple :

$ sudo logwatch --detail Low --mailto nom@adresse.email --service http --range yesterday

Cette commande va générer un rapport sans trop de détail (--detail Low) sur uniquement le service http (--service http) de la journée d’hier (--range yesterday) envoyé par email à l’adresse indiquée (--mailto nom@adresse.email). Bien entendu, le but n’est pas de le lancer à la main, voyons donc comment rapidement le configurer.

Sous CentOS 7, le fichier de configuration par défaut se trouve sous /usr/share/logwatch/default.conf/logwatch.conf, mais il est préférable d’éditer le fichier présent sous /etc/logwatch/conf/logwatch.conf avec ses propres paramètres. Dans notre cas, cette configuration se résume à ceci :

Output = mail
Format = html
MailTo = destinataire@adresse.email
MailFrom = nom@adresse.email
Detail = Low
Range = yesterday
Service = All

Pas vraiment besoin d’explication ici, c’est très compréhensible, on voit que l’on retrouve les options du test en ligne de commande un peu plus haut.

Le paramètre Detail pourrait être plus verbeux avec une valeur à Medium ou High. Le paramètre Range quant à lui est assez flexible, il peut prendre des valeurs telles que : yesterday, today, mais également des choses comme '2 hours ago for that hour' sont comprises.
Service est à All ici, mais il est possible de spécifier quels services inclure : Service = sendmail Service = http Service = identd Service = sshd2 Service = sudo.

Exemple de rapport au format texte :

########### Logwatch 7.4.0 (03/01/11) ############
 Processing Initiated: Tue May 15 19:27:10 2016
 Date Range Processed: 2 hours ago for that hour
 ( 2016-May-15 17h )
 Period is hour.
 Detail Level of Output: 0
 Type of Output/Format: mail / text
 Logfiles for Host: hostname
 ##################################################

------------- System Configuration Begin ----------------

CPU: 1 Intel Xeon E312xx (Sandy Bridge) at 2394MHz
 Machine: x86_64
 Release: Linux 3.10.0-327.18.2.el7.x86_64
 Total Memory: 1953 MB
 Free Memory: 105 MB

-------------- System Configuration End -----------------


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

Filesystem Size Used Avail Use% Mounted on
 /dev/vda1 10G 6.4G 3.7G 64% /
 devtmpfs 959M 0 959M 0% /dev


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


 ------------- Network Interfaces ---------------

Ethernet : 0
 Other : 0
 Total : 0

------------- Network statistics ---------------

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host
 valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether fa:26:3f:38:99:ab brd ff:ff:ff:ff:ff:ff
 inet 14.32.10.9/32 brd 14.32.10.9 scope global eth0
 valid_lft forever preferred_lft forever
 inet6 fe85::f826:3fff:fe78:88ab/64 scope link
 valid_lft forever preferred_lft forever

Iface MTU RX-DRP TX-DRP
 eth0 1500 0 0
 lo 65536 0 0


 ----- Network statistics -------


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

Laisser un commentaire

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