Installation et configuration de Logcheck (CentOS 7.3)

Logcheck est un programme qui va lire les fichiers de logs et en extraire les messages d’erreurs et les envoyer par mails.

Installation de Logcheck

Logcheck n’étant pas disponible dans les dépôts CentOS, vous devez installer les dépôts EPEL en suivant la documentation que j’ai écrite ici. Nous allons l’installer via la commande suivante :

1
# yum install logcheck

Logcheck se configure par l’intermédiaire de 2 fichiers « logcheck.conf » et « logcheck.logfiles ». Avant de les modifier nous allons les sauvegarder. Pour cela nous tapons les commandes suivantes :

1
2
# cp /etc/logcheck/logcheck.conf{,.ori}
# cp /etc/logcheck/logcheck.logfiles{,.ori}

Le fichier « logcheck.conf » contient la configuration proprement dite de Logcheck. Nous allons l’éditer pour configurer l’adresse mail à laquelle sera envoyé les rapports. Pour cela on tape la commande suivante :

1
# vi /etc/logcheck/logcheck.conf

On modifie la valeur de la variable « SENDMAILTO » comme ci-dessous (ligne 28) :

1
SENDMAILTO=your_email_address

Le fichier « logcheck.logfiles » contient la liste des fichiers de logs que Logcheck devra aller lire. Actuellement Logcheck n’ pas les droits de lire les fichiers « /var/log/messages » et « /var/log/secure ». Afin de permettre à Logcheck de le faire, nous devons modifier le propriétaire ainsi que les droits. Pour cela, on tape les commandes suivantes :

1
2
3
4
# chown root:adm /var/log/messages
# chown root:adm /var/log/secure
# chmod 640 /var/log/messages
# chmod 640 /var/log/secure

Nous devons aussi modifier la configuration de Logrotate pour les fichiers « /var/log/messages » et « /var/log/secure » soient créés avec les bons propriétaires et bon droits. Avant de faire les modifications, on sauvegarde de le fichier via la commande suivante :

1
# vi /etc/logrotate.d/syslog

On modifie le fichier comme ci-dessous :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/var/log/cron
/var/log/maillog
/var/log/spooler
{
    missingok
    sharedscripts
    postsrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}
/var/log/messages
/var/log/secure
{
    missingok
    sharedscripts
    create 0640 root adm
    postsrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Vous pouvez vérifier le bon fonctionnement de Logcheck en tapant la commande suivante :

1
# sudo -u logcheck logcheck

Lors de l’installation du package une tache cron a été créée « /etc/cron.d/logcheck ». Par défaut, elle s’exécute à chaque redémarrage de la machine ainsi que toutes les deux minutes.