13.3.2. Configuração de registro remoto para um servidor através de TCP
Siga este procedimento para configurar um sistema de encaminhamento de mensagens de registro para um servidor através do protocolo TCP. O plug-in omfwd
permite o encaminhamento sobre o UDP ou TCP. O protocolo padrão é o UDP. Como o plug-in está embutido, não é necessário carregá-lo.
Pré-requisitos
-
O pacote
rsyslog
é instalado nos sistemas do cliente que devem se reportar ao servidor. - Você configurou o servidor para o registro remoto.
- A porta especificada é permitida no SELinux e aberta no firewall.
Procedimento
Criar um novo arquivo no diretório
/etc/rsyslog.d/
chamado, por exemplo,remotelog.conf
, e inserir o seguinte conteúdo:*.* action(type="omfwd" queue.type="linkedlist" queue.filename="example_fwd" action.resumeRetryCount="-1" queue.saveOnShutdown="on" target="example.com" port="30514" protocol="tcp" )
Onde:
-
queue.type="linkedlist"
permite uma fila in-memory da LinkedList, -
queue.filename
define um armazenamento em disco. Os arquivos de backup são criados com o prefixoexample_fwd
no diretório de trabalho especificado pela diretiva globalworkDirectory
anterior, -
a configuração
action.resumeRetryCount -1
impede quersyslog
deixe cair mensagens ao tentar conectar novamente se o servidor não estiver respondendo, -
habilitado
queue.saveOnShutdown="on"
salva dados in-memory sersyslog
for desligado, - a última linha encaminha todas as mensagens recebidas para o servidor de registro, a especificação da porta é opcional.
Com esta configuração,
rsyslog
envia mensagens para o servidor, mas mantém mensagens na memória se o servidor remoto não for alcançável. Um arquivo em disco é criado somente sersyslog
ficar sem espaço na fila de memória configurada ou precisar ser desligado, o que beneficia o desempenho do sistema.-
Reinicie o serviço
rsyslog
.# systemctl restart 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, veja o log
/var/log/messages
, 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 instalada com o pacote
rsyslog-doc
em file:///usr/share/doc/rsyslog/html/index.html