Archiviazione mail.log

Ho deciso che era ora di iniziare ad archiviare in una forma più metodica i log del mail server (postfix). Dopo aver giocato un po’ con logrotate ho scoperto che syslog-ng ha già integrato quello che mi serviva: una specie di cronolog per il syslog… la documentazione (man) non è molto dettagliata ma poi per fortuna sono capitato su una pagina che implementava la soluzione che cercavo.

L’archiviazione la faccio direttamente sulla machina che riceve i log dai vari server.

source net { unix-dgram("/dev/log"); udp(); };
destination hosts {
file("/var/log/HOSTS/$HOST/$FACILITY/$YEAR$MONTH$DAY-$HOST_$FACILITY.log"
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};
log { source(net); destination(hosts); };

Interessante, dalla stessa pagina, la soluzione per loggare direttamente su mysql con sqlsyslogd e

destination sqlsyslogd {
program("/usr/local/sbin/sqlsyslogd -u sqlsyslogd -t logs sqlsyslogd -p");
};

log {
source(net);
destination(sqlsyslogd);
};

Infine ho scoperto l’esistenza si SEC (Simple Event Correlator) a cui sicuramente dedicherò un po’ di tempo nel prossimo futuro.