- Ajuda com syslog remoto
+ Responder ao Tópico
-
Ajuda com syslog remoto
Amigos
Configurei um debian para ser meu centralizador de logs, e estou na seguinte situação: Atualmente ele já está aceitando os logs enviados por outras máquinas, mas coloca essas linhas de log dentro do mesmo arquivo /var/log/messages em que ele armazena seus próprios logs... Eu gostaria de ter um arquivo de log separadamente para cada máquina que esteja enviando, é possível? Por exemplo, a máquina ns2 teria um log ns2.log, ao invés de ser misturado com o messages...
A outra pergunta é: consegui iniciar o syslog -r manualmente, mas onde eu configuro a inicialização do syslog com a opção -r? Num reset eu perderei esta opção que iniciei manualmente...
Desde já agradeço!
Denilson
-
Bom dia amigo.
Bem, eu utilizo um script para fazé-lo. Eu ajusto o logrotate para execulta-lo em um periodo de tempo e fica tudo beleza... http://lordi.di.uern.br/~pedroarthur/down/rc.parselog tá ai o link... pode usar e incrementar...
No slack, o /etc/rc.d/rc.syslog é o arquivo que configura essa opção...
No Debian, /etc/init.d/syslog... É só adicionar o -r na linha de comando que chama o syslog.
-
A melhor solução pra isso é usar o syslog-ng que é uma ferramenta muito poderosa e por padrão já faz isso.
de uma olhada neste artigo
Linux: Construindo um Log Server utilizando Linux, Unix e Windows [Artigo]
-
Pessoal, obrigado pela ajuda! Demorei muito a implementar, pois assim que postei a pergunta tive fazer uma viagem e depois disso resolver outras prioridades, só agora está tudo ok!
Implementamos com o syslog-ng usando as seções "source", "destinations" e "filters" do syslog-ng.conf, já separando tudo em arquivos individuais por IP, agora está perfeito, exatamente como queríamos!
Vou postar abaixo a configuração destas opções, pode ser útil para alguém.
Um abraço!
Denilson
######
# sources
# Pega de toda a rede (0.0.0.0)
source rede { unix-stream("/dev/log"); udp(ip(0.0.0.0) port(514)); };
######
# destinations
# Define os arquivos separados de log para cada host
destination host1 {
file("/var/log/host1.log" create_dirs(yes) );
};
destination host2 {
file("/var/log/host2.log" create_dirs(yes) );
};
######
# filters
# Define os filtros por IP dos hosts
#
filter host1 {
host("x.x.x.x");
};
filter host22 {
host("x.x.x.x");
};