Supprimer les messages inutiles de Sendmail des journaux syslog(3)

:!: Page en travaux

J'aime bien avoir des logs verbeux. Je règle donc Sendmail avec les options :

# log level
O LogLevel=15
O Milter.LogLevel=17

Par défaut, les deux vallent 9. Cela ne renseigne que dans les cas où un message est deferred. Le niveau 14 renseigne aussi sur les refus mais le 15 a le bon goût de journaliser toutes les commandes SMTP entrantes et sortantes. Attention, c'est verbeux ! Le niveau est LOG_INFO. Pour Milter.LogLevel, 17 affiche les en-têtes et le corps envoyé au(x) filtre(s). Si on veut voir les en-têtes ou tout du moins plus que l'expéditeur et le destinataire, il faut en passer par là.

Du coup, mes journaux sont remplis de trucs inutiles comme :

sm-mta[24339]: l7B5X5xl024339: --- 250-ENHANCEDSTATUSCODES
sm-mta[24339]: l7B5X5xl024339: --- 250-PIPELINING
sm-mta[24339]: l7B5X5xl024339: --- 250-EXPN
sm-mta[24339]: l7B5X5xl024339: --- 250-VERB
sm-mta[24339]: l7B5X5xl024339: --- 250-8BITMIME
sm-mta[24339]: l7B5X5xl024339: --- 250-SIZE
sm-mta[24339]: l7B5X5xl024339: --- 250-ETRN
sm-mta[24339]: l7B5X5xl024339: --- 250-DELIVERBY
sm-mta[24339]: l7B5X5xl024339: --- 250 HELP

ou comme :

sm-mta[24339]: l7B5X5xl024339: milter=mimedefang, action=header, continue
sm-mta[24339]: l7B5X5xl024339: milter=milter-regex, action=header, accepted

Qu'à cela ne tienne, Syslog-NG fait le filtrage et ne garde que la substantifique moelle :

filter f_mail_log { facility(mail) and level(info..emerg)
	and not match("milter=.*,\ action=")
	and not match(":\ ---\ 220\ \ ESMTP")
	and not match(":\ ---\ 250-(ENHANCEDSTATUSCODES|PIPELINING|8BITMIME|
		EXPN|VERB|SIZE|DSN|ETRN|DELIVERBY|HELP)"); };
  • user/pc/sysadmin/sendmail-syslog-ng.txt
  • Dernière modification : 2011/07/24 11:55
  • de pc