Bonjour,
Pas vraiment convaincu par le logwatch de CentOS, j'ai écrit un petit outil pour l'analyse semi automatique des logs : scrut
Principe scrut est un exécutable binaire qui parcours automatiquement les logs en filtrant les messages sans importance ; révélant ainsi les messages inhabituels, nouveau ou problématiques. scrut est à lancer régulièrement par un cron ; les informations méritant une attention sont alors automatiquement transmises par mail.
1 Prérequis Utiliser le mode de format de log standard ; - dans /etc/rsyslog.conf remplacer RSYSLOG_TraditionalFileFormat par RSYSLOG_FileFormat - systemctl restart syslog Redémarrer cron (pour qu'il envoie des mails ! ; voir https://centosfaq.org/centos/centos-81-cron-does-not-send-mail/) systemctl restart crond
2 Configuration La configuration se fait dans /etc/scrut/ (le sous-répertoire etc est un exemple de configuration). Ce répertoire doit contenir un sous répertoire pour chaque log à analyser dont le nom doit correspondre au fichier journal situé en /var/log/ ; par exemple /etc/scrut/messages/. Chacun des sous répertoires de /etc/scrut/ doit contenir : • un fichier last • un sous répertoire filters/ Le fichier last sert à mémoriser la date et l'heure de la dernière ligne de log filtrée. Le sous répertoire filters/ contient les fichiers d'expressions régulières qui servent à filtrer les messages pouvant être ignorés. Les expressions régulières des fichiers de filtre doivent concerner les informations qui figurent après la date, l'heure et le nom du host. Par exemple pour /etc/scrut/secure/filtres/su : ^su[[[:digit:]]+]: pam_systemd(su-l:session): Cannot create session: Already running in a session or user slice$
3 Utilisation en mode test Pour la mise au point de filtres, il est possible de lancer manuellement scrut sans mettre à jour le fichier last en précisant une date et heure de seuil à appliquer : ./scrut 2020-10-23T17:26:12.8453
Pour ceux que cela intéresserait, scrut est partagé en https://numerunique.fr/scrut.tar
Laurent Barme