# * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par
# exemple servir à définir un dossier par défaut autre que .INBOX
-# Attention, certaines règles (pour l'instant commentées par #~#)
-# font appel à des scripts.
-# Pour qu'elles fonctionnent correctement, il faut que vous
-# possédiez les scripts correspondant et que vous adaptiez
-# la partie "Scripting" des variables de configuration.
-# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting)
-
################################################################################
##### Commentaires #####
# | |
# | |-[+] Nagios (Comme Monit, mais en mieux/moins bien/différent)
# | | |
-# | | |- <un dossier pour tousles switchs et un dossier par serveur>
+# | | |- <un dossier pour tous les switchs, un pour toutes les bornes, puis un dossier par serveur>
# | |
# | |-[+B] Stats-upload (Qui a uplodé ?)
# |
### Scripting
# Shell à utiliser pour exécuter des commandes
SHELL="/bin/bash"
-## Scripts
-# Dossier où sont rangés les scripts
-SCRIPTSFOLDER="${HOME}/scripts/crans_toolbox/"
-# Scripts pour décoder les headers MIME
-DECODEHEADERSCRIPT="${SCRIPTSFOLDER}decode_header.pl"
#################################################################
MONITDIR="${MONITORINGDIR}.Monit"
NAGIOSDIR="${MONITORINGDIR}.Nagios"
NAGIOSSWITCHSDIR="${NAGIOSDIR}.0-switchs"
+NAGIOSBORNESDIR="${NAGIOSDIR}.1-bornes"
ARPWATCHDIR="${MONITORINGDIR}.Arpwatch"
MUNINDIR="${MONITORINGDIR}.Munin"
MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante"
+################################################################################
+##### Preprocessing #####
+################################################################################
+
+# On décode les champs sur lesquels ont pourrait avoir besoin de matcher
+# plus tard la version décodée. On stocke les versions décodées
+# dans des variables.
+# "formail -cXHeader" récupère le champ Header (-X) en enlevant les \n (-c)
+# si le champ fait plusieurs lignes
+:0
+* ^X-Mailer:
+XMAILER=| formail -cXX-Mailer: | perl -MEncode -pe '$_=encode("iso-8859-1",decode("MIME-Header",$_))'
+
+
+
################################################################################
##### Règles #####
################################################################################
:0
* ^(From: nagios@crans\.org|User-Agent:.*nagios)
{
- # Tous les switchs vont dans le dossier ${NAGIOSSWITCH}
+ # Tous les switchs vont dans le dossier ${NAGIOSSWITCHSDIR}
:0
- * ^Subject:.*Alert: bat[^/]+-
+ * ^Subject:.*[A-Z]+ - (bat[a-z]-[0-9]+|backbone|minigiga)\.
${NAGIOSSWITCHSDIR}/
+ # Toutes les bornes vont dans le dossier ${NAGIOSBORNESDIR}
+ :0
+ * ^Subject:.* [A-Z]+ - [a-z0-9](-*[a-z0-9]+)*\.wifi\.crans\.org
+ ${NAGIOSBORNESDIR}/
+
# Chaque serveur a son dossier
:0
- * ^Subject:.*Alert: \/[^/\.]+
+ * ^Subject:.* [A-Z]+ - \/[a-z0-9](-*[a-z0-9]+)*
${NAGIOSDIR}.${MATCH}/
# Si l'envie prenait à Nagios de raconter un peu plus sa vie
{
# Statistiques d'upload
:0
- * ^X-Mailer: /usr/scripts/surveillance/statistiques.py
+ * ^X-Mailer: /usr/scripts/surveillance/statistiques2.py
${STATUPLOADDIR}/
:0
# Sur la ML respbats@
-#~# # L'ancienne version de ce filtre ne fonctionne plus car les headers
-#~# # de ces mails sont maintenant correctement encodé.
-#~# # C'est bien pour le respect des RFC, mais c'est un peu pain in the ass
-#~# # p our le trier avec procmail, donc on besoin d'un script
-#~# # Ne pas décommenter si vous n'avez pas le script associé.
-#~# # (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting)
-#~# :0
-#~# * ^List-Id:.*respbats\.lists\.crans\.org
-#~# * ^X-Mailer:\/.*
-#~# {
-#~# # Machines supprimées pour chambre invalide
-#~# :0
-#~# * ? echo "${MATCH}" | ${DECODEHEADERSCRIPT} | grep /usr/scripts/gestion/chambres_vides.py
-#~# ${DELETEDMACHINES}/
-#~# }
+# On utilise la variable XMAILER peuplée dans la phase de Preprocessing
+:0
+* ^List-Id:.*respbats\.lists\.crans\.org
+{
+ # Machines supprimées pour chambre invalide
+ :0
+ * XMAILER ?? /usr/scripts/gestion/menage/chambres_invalides.py
+ ${DELETEDMACHINES}/
+}
#################################################################