Linux: Configurando um servidor de log centralizado

imagesA estrutura de log permite ao sistema operacional e aos aplicativos registrarem vários tipos de informações referentes ao seu funcionamento, incluindo mensagens de erros e tentativas de acesso. Por padrão, no Linux, o rsyslogd é o daemon responsável por receber e registrar as mensagens de log enviadas pelos demais aplicativos.

Com algumas configurações, podemos ajustar o comportamento do rsyslog, de forma que ele possa receber as mensagens de log de vários  hosts, tornando-o um servidor de log centralizado.

Logo, o objetivo deste post é mostrar como podemos configurar o daemon do rsyslog para receber as mensagens de log de outros hosts. Mas antes de iniciar o processo devemos verificar se o pacote  o daemon rsyslog está instalado:

aptitude search rsyslog

Caso o deamon esteja instalado, o comando acima deve produzir uma linha semelhante à:

i   rsyslog      - reliable system and kernel logging daemon

Se o aplicativo não estiver instalado, execute o comando abaixo:

apt-get install rsyslog

Com o daemon instalado, podemos habilita-lo a receber e registrar as mensagens remotas de log, para isto devemos editar alguns arquivos. A primeira modificação que realizaremos será inserir a diretiva abaixo no arquivo ”‘/etc/default/rsyslog”’

SYSLOGD="-r"

No arquivo ”’/etc/rsyslog.conf”’ será necessário observar alguns detalhes. O rsyslog, quando configurado para receber os log remotos, deve estar escutando a porta 514, TCP ou UDP. Desta forme, descomente as linhas abaixo:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

Em seguida observe a diretiva “IncludeConfig“, verifique se ela está habilitando o daemon para ler os arquivos de configuração adicionais, que podem ser incluídos no diretório /etc/rsyslog.d/

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

Feito isto, terminamos os ajustes do arquivo /etc/rsyslog.conf e já podemos salvar as alterações. Agora devemos reiniciar o daemon do ryslog

service rsyslog restart

Depois de reiniciar o daemon, para verificar se o serviço está disponível e se as configurações surtiram efeito, podemos utilizar o comando netstat e aplicar à ele um filtro para buscar a porta 514:

netstat -putan | grep 514

Se linhas semelhantes às apresentadas abaixo forem listadas, o deamon já está pronto para receber os logs.

udp 0 0 0.0.0.0:514 0.0.0.0:* 9380/rsyslogd
udp6 0 0 :::514 :::* 9380/rsyslogd

O Próximo passo será configurar as estações para publicarem seus logs neste servidor.


  • Publicado em 2013-07-29 às 10:54:35
  • Atualizado em 2014-10-16 às 16:35:50