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:
- Acesse o MikroTik via Winbox ou WebFig
- Vá em System > Logging
- Na aba Actions, clique em Add New:
- Name: syslog
- Type: remote
- Remote Address:
IP_DO_SERVIDOR_SYSLOG
- Remote Port:
514
- Vá na aba Rules, clique em Add New:
- Topics: hotspot, info (ou o que desejar logar)
- Action: syslog
- 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.