mzibit
(usa Gentoo)
Enviado em 17/04/2013 - 09:17h
Bom dia gurizada,
Estou com o seguinte problema:
Preciso centralizar os logs de diversos servidores como zimbra, squid, proxy reverso, apache, etc.
Tentei fazer isso com o rsyslog + mysql + loganalyzer, consegui mas abortamos pois o log cresceu muito (8gb por dia aprox.) e começou a ficar inviável pela demora nas consultas, etc.
Então decidimos jogar esses logs em um servidor e separá-los por pasta, então parei de usar o rsyslog e comecei a usar o syslog-ng no servidor pois pelo que pesquisei é melhor para separar os serviços.
Mas o problema é que não consigo separar os logs do zimbra (/opt/zimbra/log/*) e /var/log/zimbra.log e os demais importantes no sistema, ja que o syslog-ng cria as pastas por facility (pelo menos é a única forma que descobri de separar).
Alguém tem alguma idéia de como posso fazer para organizar?
Obrigado desde já.
Segue meu syslog-ng.conf abaixo:
options {
sync (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
create_dirs (no);
###Configuracoes adicionais
log_fifo_size (2048);
group(adm);
create_dirs (yes);
perm (0640);
dir_perm(0755);
use_dns (yes);
use_fqdn (yes);
keep_hostname (yes);
};
source s_sys {
file ("/proc/kmsg" log_prefix("kernel: "));
unix-stream ("/dev/log");
internal();
# udp(ip(0.0.0.0) port(514));
};
destination d_cons { file("/dev/console"); };
destination d_mesg { file("/var/log/messages"); };
destination d_auth { file("/var/log/secure"); };
destination d_mail { file("/var/log/maillog" sync(10)); };
destination d_spol { file("/var/log/spooler"); };
destination d_boot { file("/var/log/boot.log"); };
destination d_cron { file("/var/log/cron"); };
destination d_kern { file("/var/log/kern"); };
destination d_zimbra { file("/var/log/zimbra.log"); };
destination d_optzimbra { file("/opt/zimbra/log/audit.log
destination d_mlal { usertty("*"); };
filter f_kernel { facility(kern); };
filter f_default { level(info..emerg) and
not (facility(mail)
or facility(authpriv)
or facility(cron)); };
filter f_auth { facility(authpriv); };
filter f_mail { facility(mail); };
filter f_emergency { level(emerg); };
filter f_news { facility(uucp) or
(facility(news)
and level(crit..emerg)); };
filter f_boot { facility(local7); };
filter f_cron { facility(cron); };
filter f_zimbra { facility(mail); };
filter f_optzimbra { facility(auth); };
#facility(uucp) or (facility(news) and level(crit..emerg)); };
#log { source(s_sys); filter(f_kernel); destination(d_cons); };
log { source(s_sys); filter(f_kernel); destination(d_kern); };
log { source(s_sys); filter(f_default); destination(d_mesg); };
log { source(s_sys); filter(f_auth); destination(d_auth); };
log { source(s_sys); filter(f_mail); destination(d_mail); };
log { source(s_sys); filter(f_emergency); destination(d_mlal); };
log { source(s_sys); filter(f_news); destination(d_spol); };
log { source(s_sys); filter(f_boot); destination(d_boot); };
log { source(s_sys); filter(f_cron); destination(d_cron); };
log { source(s_sys); filter(f_zimbra); destination(d_zimbra); };
log { source(s_sys); filter(f_optzimbra); destination(d_optzimbra); };
# vim:ft=syslog-ng:ai:si:ts=4:sw=4:et:
#source s_remote {
#tcp();
#};
#destination d_clients {
#file("/var/log/centralizacao/$HOST/$FACILITY" owner("root") group("root") perm(0660) dir_perm(0770) create_dirs(yes));
source minha_rede{
unix-stream("/dev/log");
udp(
ip(0.0.0.0)
port(514)
);
};
destination servidores.dst {
file( "/var/log/centralizacao/$YEAR/$HOST/$YEAR-$MONTH/$FACILITY/${FACILITY}-${YEAR}-${MONTH}-${DAY}" create_dirs(yes) );
};
log {
source(minha_rede);
destination(servidores.dst);
};