options {
chain_hostnames(no);
flush_lines(5);
stats_freq(43200);
};
# este é o source para as mensagens locais
source src {
unix-stream("/dev/log" max_connections(1000));
internal();
file("/proc/kmsg");
};
# este é o soruce para as mensagens externas, coloque o IP do computador no lugar de 1.1.1.1
source ext {
udp(ip(1.1.1.1) port(514));
};
# alguns arquivos que ele vai criar... tirei alguns meus pra simplificar
destination messages { file("/var/log/messages"); };
destination sshd { file("/var/log/sshd"); };
destination sudo { file("/var/log/sudo"); };
destination cron { file("/var/log/cron"); };
destination ext { file("/var/log/externo"); };
# loga tudo pra tty12 tambem... opcional
destination console_all { file("/dev/tty12"); };
# filtros... isso aqui escolhe algum log especifico e serve pra joga dentro de uma
# destination mais tarde
# log do sudo
filter sudo {
program("sudo");
};
# log do sshd
filter sshd {
program("sshd");
};
# log do cron
filter cron {
program("cron");
};
# filtro que ignora cron, sshd, sudo e joga TODO o resto pra /var/log/messages
filter messages {
not filter(sshd) and
not filter(cron) and
not filter(sudo);
};
# a sintaxe aqui é o seguinte: source, o que filtrar, pra onde vai
# ou seja:
# veio desta maquina, foi filtrado no filtro sudo, vai pra /var/log/sudo
log { source(src); filter(sudo); destination(sudo); };
# veio desta maquina, foi filtrado no filtro sshd, vai pra /var/log/sshd
log { source(src); filter(sshd); destination(sshd); };
log { source(src); filter(cron); destination(cron); };
log { source(src); filter(messages); destination(messages); };
log { source(src); destination(console_all); };
# veio de fora? vai pra /var/log/externo
log { source(ext); destination(externo); };