Mas que TIP, es una nota mental, ya es la segunda vez que tengo que hacer esto y googlear al respecto por no acordarme como mierdas se suponde que debe uno hablarle a syslog-ng en su críptico idioma como se hace:
Por defecto postfix escupe todo su log en syslog, por costumbre uso como syslog la aplicación syslog-ng, cuando se usa syslog-ng toda la salida de postfix va a parar derecho a /var/log/messages.
Esto no tiene nada de malo cuando no se trata de monitorear /var/log/messages con frecuencia, pero cuando varias aplicaciones vuelcan toda su salida al mismo lugar y hay que estar pendiente del log en cuestión, el asunto se pone denso. Postfix en su versión menos verborrágica inunda el log con mensajes cuando el servidor SMTP tiene mucho tráfico. Por esto es que me interesaba separar el log de postfix a un archivo aparte.
Por convención usé /var/log/mail.log, syslog-ng deberá volcar en ese archivo toda la salida de postfix.
Como se hace:
Editar el archivo /etc/syslog-ng/syslog-ng.conf, agregar las siguientes líneas:
destination mail { file(«/var/log/mail.log»); };
filter mail { facility(mail); };
filter notmail { not facility(mail); };
log { source(src); filter(mail); destination(mail); };
Y no me pregunten que significa cada cosa ni por qué funciona, por que no tengo ni idea, ni ganas de investigar al respecto, ni tiempo para hacerlo, pero funciona, doy fe.