Como Criar um Servidor Syslog no Linux

O Syslog (“System Logging Protocol”) é um padrão para coleta e armazenamento de logs de dispositivos e servidores. Neste tutorial, vamos configurar um servidor Syslog no Linux usando o rsyslog, que é um dos syslog servers mais populares.

1. Instalando o Rsyslog

A maioria das distribuições Linux já vem com o rsyslog instalado. Se não estiver, instale manualmente:

Debian/Ubuntu

sudo apt update && sudo apt install rsyslog -y

CentOS/RHEL

sudo yum install rsyslog -y

Após a instalação, verifique se o serviço está rodando:

sudo systemctl status rsyslog

Se não estiver ativo, inicie e habilite na inicialização do sistema:

sudo systemctl start rsyslog
sudo systemctl enable rsyslog

2. Configurando o Rsyslog para Receber Logs Remotos

Por padrão, o rsyslog não aceita logs de dispositivos remotos. Vamos ativar isso.

Passo 1: Editar o arquivo de configuração

Abra o arquivo de configuração principal:

sudo vi /etc/rsyslog.conf

Descomente (ou adicione) as seguintes linhas para ativar a recepção de logs:

Para receber via UDP (padrão, mais rápido):

$ModLoad imudp
$UDPServerRun 514

Para receber via TCP (mais confiável, evita perda de pacotes):

$ModLoad imtcp
$InputTCPServerRun 514

Salve e feche o arquivo.

Passo 2: Criar uma Regra para Salvar Logs do MikroTik (ou outros dispositivos)

Crie um novo arquivo de configuração:

sudo vi /etc/rsyslog.d/mikrotik.conf

Adicione a seguinte linha para salvar os logs do MikroTik (substitua pelo IP do dispositivo que enviará os logs):

if $fromhost-ip startswith '192.168.1.1' then /var/log/mikrotik.log
& stop

Se quiser capturar logs de qualquer dispositivo:

if $fromhost-ip != '127.0.0.1' then /var/log/remotelogs.log
& stop

Salve e feche o arquivo.

Passo 3: Reiniciar o Rsyslog

sudo systemctl restart rsyslog

Agora o servidor Syslog está pronto para receber logs!

3. Configurar um Dispositivo para Enviar Logs (Exemplo: MikroTik)

Se você deseja enviar logs de um MikroTik para este servidor:

  1. Acesse o MikroTik via Winbox ou WebFig
  2. Vá em System > Logging
  3. Na aba Actions, clique em Add New:
    • Name: syslog
    • Type: remote
    • Remote Address: IP_DO_SERVIDOR_SYSLOG
    • Remote Port: 514
  4. Vá na aba Rules, clique em Add New:
    • Topics: hotspot, info (ou o que desejar logar)
    • Action: syslog
  5. Clique em Apply e OK

Agora o MikroTik enviará os logs para o seu servidor Syslog!

4. Como Verificar os Logs Recebidos

Para ver os logs em tempo real:

tail -f /var/log/mikrotik.log

Ou, se estiver salvando logs genéricos:

tail -f /var/log/remotelogs.log

5. Opcional: Enviando Logs para um Servidor Remoto

Se quiser que este servidor Syslog reenvie os logs para outro servidor, adicione esta linha no /etc/rsyslog.conf:

*.* @IP_DO_OUTRO_SERVIDOR:514

E reinicie o rsyslog:

sudo systemctl restart rsyslog

Conclusão

Agora você tem um servidor Syslog funcional no Linux! Ele pode ser usado para armazenar logs de diversos dispositivos, como roteadores, firewalls e servidores.

Se quiser visualizar os logs de forma mais organizada, pode integrar com Grafana + Loki, Graylog, ou outro sistema de análise.

Rolar para cima