13.5. Configuração de registro remoto confiável
Com o Protocolo de Registro de Eventos Confiáveis (RELP), você pode enviar e receber mensagens syslog
através do TCP com um risco muito reduzido de perda de mensagens. O RELP proporciona a entrega confiável de mensagens de eventos, o que o torna útil em ambientes onde a perda de mensagens não é aceitável. Para usar o RELP, configure o módulo de entrada imrelp
, que roda no servidor e recebe os logs, e o módulo de saída omrelp
, que roda no cliente e envia os logs para o servidor de logs.
Pré-requisitos
-
Você instalou os pacotes
rsyslog
,librelp
, ersyslog-relp
no servidor e nos sistemas do cliente. - A porta especificada é permitida no SELinux e aberta no firewall.
Procedimento
Configurar o sistema do cliente para registro remoto confiável:
No sistema do cliente, criar um novo arquivo
.conf
no diretório/etc/rsyslog.d/
chamado, por exemplo,relpcli.conf
, e inserir o seguinte conteúdo:module(load="omrelp") *.* action(type="omrelp" target="target_IP" port="target_port")
Onde:
-
target_IP
é o endereço IP do servidor de registro. -
target_port
é a porta do servidor de registro de dados.
-
-
Salvar as mudanças no arquivo
/etc/rsyslog.d/relpserv.conf
. Reinicie o serviço
rsyslog
.# systemctl restart rsyslog
Opcional: Se
rsyslog
não estiver habilitado, certifique-se de que o serviçorsyslog
seja iniciado automaticamente após a reinicialização:# systemctl enable rsyslog
Configurar o sistema do servidor para registro remoto confiável:
No sistema do servidor, criar um novo arquivo
.conf
no diretório/etc/rsyslog.d/
chamado, por exemplo,relpserv.conf
, e inserir o seguinte conteúdo:ruleset(name="relp"){ *.* action(type="omfile" file="log_path") } module(load="imrelp") input(type="imrelp" port="target_port" ruleset="relp")
Onde:
-
log_path
especifica o caminho para o armazenamento das mensagens. -
target_port
é a porta do servidor de registro de dados. Use o mesmo valor que no arquivo de configuração do cliente.
-
-
Salvar as mudanças no arquivo
/etc/rsyslog.d/relpserv.conf
. Reinicie o serviço
rsyslog
.# systemctl restart rsyslog
Opcional: Se
rsyslog
não estiver habilitado, certifique-se de que o serviçorsyslog
seja iniciado automaticamente após a reinicialização:# systemctl enable rsyslog
Verificação
Para verificar se o sistema cliente envia mensagens para o servidor, siga estes passos:
No sistema do cliente, envie uma mensagem de teste:
# logger test
No sistema do servidor, visualizar o log no
log_path
por exemplo:# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
Onde
hostname
é o nome do host do sistema do cliente. Note que o log contém o nome do usuário que digitou o comando logger, neste casoroot
.
Recursos adicionais
-
As páginas de manual
rsyslogd(8)
ersyslog.conf(5)
-
Documentação baseada no navegador, que você pode instalar a partir do pacote
rsyslog-doc
, emfile:///usr/share/doc/rsyslog/html/index.html