From 613b3976f677225ffa509cc2b6ee96f9f316e3e4 Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Sun, 16 Jul 2017 22:57:12 +0200 Subject: [PATCH] Relecture --- HowtoLog2mail.md | 60 ++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/HowtoLog2mail.md b/HowtoLog2mail.md index fa897ba8..870e6ba9 100644 --- a/HowtoLog2mail.md +++ b/HowtoLog2mail.md @@ -3,17 +3,25 @@ categories: sysadmin title: Howto Log2mail ... -*Log2mail* est un démon qui surveille en permanence une liste de journaux et qui envoie immédiatement un email si certains termes apparaissent dans ce fichier. C'est un complément idéal à [Logcheck](HowtoLogcheck) qui permet d'alimenter la liste des termes considérés comme anormaux. *Log2mail* était présent dans Debian pendant plusieurs années, il a été retiré mais nous l'utilisons toujours car le [code source](https://github.com/fumiyas/log2mail) est simple et nous n'avons pas trouvé d'équivalent. +**Log2mail** est un démon qui surveille en permanence une liste de journaux et qui envoie immédiatement un email si certains termes apparaissent dans ce fichier. C'est un complément idéal à [Logcheck](HowtoLogcheck) qui permet d'alimenter la liste des termes considérés comme anormaux. *Log2mail* était présent dans Debian pendant plusieurs années, il a été retiré depuis Debian 7 mais nous l'utilisons toujours car le [code source](https://github.com/fumiyas/log2mail) est simple et nous n'avons pas trouvé d'équivalent. + ## Installation -Le paquet pour Debian 7, 8 et 9 est disponible sur +Un paquet _.deb_ pour Debian 7, 8 et 9 est disponible sur . +Pour Debian 9 : + +~~~ +$ wget http://pub.evolix.net/stretch/log2mail_0.3.0-2_amd64.deb +# dpkg -i log2mail_0.3.0-2_amd64.deb +~~~ + ## Configuration -Sa configuration se déroule dans le fichier _/etc/log2mail/config/default_. +Sa configuration se déroule dans le fichier `/etc/log2mail/config/default`. Par exemple, si vous voulez préciser que vous voulez recevoir un mail dès que le terme _fatal_ -apparaît dans le fichier _/var/log/mail.log_, ajoutez ces lignes : +apparaît dans le fichier `/var/log/mail.log`, ajoutez ces lignes : ~~~ file = /var/log/mail.log @@ -23,7 +31,7 @@ template = /etc/log2mail/template.mail-fatal ~~~ Dans ce cas, on devra avoir un fichier -_/etc/log2mail/template.mail-fatal_ qui définit la structure +`/etc/log2mail/template.mail-fatal` qui définit la structure du mail qui sera envoyé. Voici un exemple simple : ~~~ @@ -39,36 +47,38 @@ Nous avons reconnu le terme "%m" dans "%F" %n fois : Merci. ~~~ -Attention, log2mail est un logiciel assez basique... et il plante -si il n'a pas les droits d'accès à un fichier déclaré dans sa configuration, -il plante !! On prendra donc bien garde +Attention, *Log2mail* est un assez basique… si il n'a pas les droits d'accès à +un fichier déclaré dans sa configuration, il plante !! On prendra donc bien +garde à bien vérifier les droits d'accès. + Pour des logs système, on devra ainsi souvent faire : ~~~ # adduser log2mail adm ~~~ -Après toutes modifications, il ne faut pas oublié de redémarrer le deamon: +Après toutes modifications, il ne faut pas oublier de redémarrer le deamon : ~~~ -/etc/init.d/log2mail restart +# systemctl restart log2mail ~~~ -Et vérifié le process avec ps aux: +Et vérifié le process avec `ps aux` : ~~~ -ps aux |grep log2mail +$ ps aux | grep log2mail ~~~ -## Plusieurs destinataires +Pour avoir plusieurs destinataires, on définit la variable _mailto_ ainsi : ~~~ mailto = "destinataire1@mail.com destinataire2@mail.com" ~~~ + ## Configuration avancée -log2mail détecte les _pattern_ avec le code suivant (ligne 25 de data.cc) : +log2mail détecte les _pattern_ avec le code source suivant (ligne 25 de `data.cc`) : ~~~ int inPattern::matches(const string& aLine) { @@ -76,15 +86,15 @@ int inPattern::matches(const string& aLine) { } ~~~ -D'après le man de regexec(3) : +D'après le man de _regexec(3)_ : ~~~ - POSIX Regex Matching - regexec() is used to match a null-terminated string against the precom? - piled pattern buffer, preg. nmatch and pmatch are used to provide - information regarding the location of any matches. eflags may be the - bitwise-or of one or both of REG_NOTBOL and REG_NOTEOL which cause - changes in matching behavior described below. +POSIX Regex Matching + regexec() is used to match a null-terminated string against the precom? + piled pattern buffer, preg. nmatch and pmatch are used to provide + information regarding the location of any matches. eflags may be the + bitwise-or of one or both of REG_NOTBOL and REG_NOTEOL which cause + changes in matching behavior described below. ~~~ On peut donc utiliser les [regex POSIX](http://en.wikipedia.org/wiki/Regular_expression#POSIX) @@ -98,13 +108,13 @@ pattern = ".*" pattern = "^ERROR" ~~~ -Pour une configuration très avancée, on pourra astucieusement utiliser _procmail_ pour -faire un filtrage encore plus fin des alertes. +Dans un mode plus avancé, on peut peut astucieusement combiner l'utilisation de *Log2mail* avec *Procmail*, une première détection sera faite avec *Log2mail* puis envoyé vers un email géré par *Procmail* pour un filtrage encore plus fin des alertes. + ## Debug -L'option -N permet de forcer l'écriture des erreurs sur STDERR et que le process ne soit pas deamonizé (mis en tâche de fond) : +L'option `-N` permet de forcer l'écriture des erreurs sur STDERR et que le process ne soit pas deamonizé (mis en tâche de fond) : ~~~ # /usr/sbin/log2mail -N -f /etc/log2mail/config/ -~~~ \ No newline at end of file +~~~