X-Space

Aller au contenu | Aller au menu | Aller à la recherche

Monitorer le nombre de courriels traités par Qmail Scanner

Suite à mon billet précédent, j'ai ressenti le besoin de suivre plus régulièrement l'évolution du spam traité par mon serveur. Utilisant déjà le logiciel MRTG pour suivre nombre d'indicateurs tel que le trafic réseau, la RAM consommée, la charge CPU etc.. ne me restait plus qu'a adapter le script log-report.sh.

Le script de mesure

Et voila qscan.sh:

#!/bin/sh

TYPE=$2

if [ "$TYPE" = "spam" ]; then
        grep "here be a virus\|------ \| SA: yup, this smells \| q_s: Policy BLOCK" $1 \
        | grep -v " message for " \
        | sed -e "s/.* hits.* - message \(tagged\|quarantined\|deleted\|rejected\) .*$/Spam \1/" \
        | grep "Spam" \
        | wc -l
fi

if [ "$TYPE" = "policy" ]; then
        grep "here be a virus\|------ \| SA: yup, this smells \| q_s: Policy BLOCK" $1 \
        | grep -v " message for " \
        | sed -e "s/^.* q_s: Policy BLOCK$/Policy blocked/"  \
        | grep "Policy blocked" \
        | wc -l
fi

        grep "here be a virus\|------ \| SA: yup, this smells \| q_s: Policy BLOCK" $1 \
        | grep -v " message for " \
        | sed -e "s/^.* Process .*$/Messages processed/"  \
        | grep "Messages processed" \
        | wc -l
echo $TYPE

Ce script, très inspiré que log-report.sh, s'utilise avec deux paramètres :

  • Le nom du fichier à analyser: /var/spool/qscan/qmail-queue.log
  • Un paramètre : spam ou policy selon que vous souhaitez connaitre le nombre courriels classés comme spam ou d'autres ayant été éliminés selon la configuration du serveur.

Configuration de MRTG

Ne restait plus qu'à enregistrer ce fichier dans /etc/mrtg/qscan.sh et à configurer MRTG :

Target[localhost-spam]: `/etc/mrtg/qscan.sh /var/spool/qscan/qmail-queue.log.1 spam`
Options[localhost-spam]: gauge,noinfo, nopercent, growright, nobanner
Title[localhost-spam]: Message
MaxBytes[localhost-spam]: 1000000
YLegend[localhost-spam]: Messages traités
ShortLegend[localhost-spam]: mails
LegendI[localhost-spam]: Total Messages
LegendO[localhost-spam]: Spam
Legend1[localhost-spam]: Nombre de messages traités
Legend2[localhost-spam]: Nombre de spam
PageTop[localhost-spam]: <h1>Evolution du spam</h1>

A noter que le fichier que le fichier analysé est celui de la veille ce qui donne une statistique quotidienne. L'utilisation du fichier courant donnera une courbe croissante qui sera réinitialisé à chaque rotation des logs. Je n'ai pas réussi à configurer MRTG pour qu'il me calcule la variation entre deux mesures, c'est à dire le nombre de courriels traités toutes les 5 minutes.

Exemple :

MRTG Spam Exemple