1. Atualizar os repositórios

Atualize a lista de pacotes disponíveis:

apt update

2. Instalar o rsyslog

Instale o serviço:

apt install rsyslog

Você pode confirmar se o serviço foi instalado com:

systemctl status rsyslog

3. Habilitar leitura dos logs do journald

Crie o arquivo:

/etc/rsyslog.d/journald.conf

Utilizando:

cat <<'EOF' > /etc/rsyslog.d/journald.conf
module(load="imjournal" StateFile="imjournal.state")
EOF

Essa configuração habilita o módulo imjournal, permitindo que o rsyslog leia mensagens armazenadas pelo systemd-journald.

4. Configurar o encaminhamento dos logs

Crie o arquivo:

/etc/rsyslog.d/encaminha.conf

Execute:

cat <<'EOF' > /etc/rsyslog.d/encaminha.conf
*.* @172.17.0.2
EOF

A diretiva:

*.* @172.17.0.2

indica que todos os logs, de todas as facilities e níveis de prioridade, serão encaminhados para o servidor 172.17.0.2.

UDP e TCP

No rsyslog:

@172.17.0.2

utiliza UDP.

Para utilizar TCP, seriam utilizados dois @:

@@172.17.0.2

Neste ambiente será utilizado UDP.

5. Desabilitar o módulo imuxsock

Edite a configuração principal do rsyslog para comentar a linha:

module(load="imuxsock") # provides support for local system logging

Execute:

sed -i 's|^module(load="imuxsock")|#module(load="imuxsock")|' /etc/rsyslog.conf

Após a alteração, a linha ficará:

#module(load="imuxsock") # provides support for local system logging

Você pode confirmar utilizando:

grep -n 'imuxsock' /etc/rsyslog.conf

6. Validar a configuração

Antes de reiniciar o serviço, valide os arquivos de configuração:

rsyslogd -N1

Se não houver erros de configuração, será apresentada uma mensagem indicando que a validação foi concluída.

7. Reiniciar o rsyslog

Após validar a configuração:

systemctl restart rsyslog

Confira o estado do serviço:

systemctl status rsyslog --no-pager

8. Verificar os arquivos criados

Confira a configuração de integração com o journald:

cat /etc/rsyslog.d/journald.conf

Resultado esperado:

module(load="imjournal" StateFile="imjournal.state")

Confira a configuração de encaminhamento:

cat /etc/rsyslog.d/encaminha.conf

Resultado esperado:

*.* @172.17.0.2

9. Testar o envio de logs

É possível gerar uma mensagem de teste utilizando o comando logger:

logger "Teste de encaminhamento via rsyslog"

No servidor remoto 172.17.0.2, verifique se a mensagem foi recebida.

Dependendo da configuração do servidor de logs, a mensagem poderá aparecer em arquivos como:

/var/log/syslog

ou em um arquivo específico configurado para recebimento remoto.