13.3. Configuração de registro remoto sobre TCP
A aplicação Rsyslog permite que você execute um servidor de registro e configure sistemas individuais para enviar seus arquivos de registro para o servidor de registro. Para usar o registro remoto através de TCP, configure tanto o servidor quanto o cliente. O servidor coleta e analisa os logs enviados por um ou mais sistemas clientes.
Com o aplicativo Rsyslog, você pode manter um sistema de registro centralizado onde as mensagens de registro são encaminhadas para um servidor através da rede. Para evitar a perda de mensagens quando o servidor não está disponível, você pode configurar uma fila de ação para a ação de encaminhamento. Desta forma, as mensagens que não puderam ser enviadas são armazenadas localmente até que o servidor esteja novamente disponível. Note que tais filas não podem ser configuradas para conexões usando o protocolo UDP.
O plug-in omfwd
permite o encaminhamento sobre UDP ou TCP. O protocolo padrão é o UDP. Como o plug-in está embutido, não precisa ser carregado.
13.3.1. Configuração de um servidor para o logon remoto sobre TCP
Siga este procedimento para configurar um servidor para coleta e análise dos logs enviados por um ou mais sistemas clientes.
Por padrão, rsyslog
usa TCP na porta 514
.
Pré-requisitos
-
rsyslog
está instalado no sistema do servidor - Você está logado como root no servidor
Procedimento
Opcional: Para utilizar uma porta diferente para o tráfego
rsyslog
, adicione o tiposyslogd_port_t
SELinux à porta. Por exemplo, habilite a porta30514
:# semanage port -a -t syslogd_port_t -p tcp 30514
Opcional: Para utilizar uma porta diferente para o tráfego
rsyslog
, configurefirewalld
para permitir o tráfego de entradarsyslog
nessa porta. Por exemplo, permitir o tráfego TCP na porta30514
na zonazone
:# firewall-cmd --zone=zone --permanent --add-port=30514/tcp success
Criar um novo arquivo no diretório
/etc/rsyslog.d/
chamado, por exemplo,remotelog.conf
, e inserir o seguinte conteúdo:# Define templates before the rules that use them ### Per-Host Templates for Remote Systems ### template(name="TmplAuthpriv" type="list") { constant(value="/var/log/remote/auth/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } template(name="TmplMsg" type="list") { constant(value="/var/log/remote/msg/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } # Provides TCP syslog reception module(load="imtcp") # Adding this ruleset to process remote messages ruleset(name="remote1"){ authpriv.* action(type="omfile" DynaFile="TmplAuthpriv") *.info;mail.none;authpriv.none;cron.none action(type="omfile" DynaFile="TmplMsg") } input(type="imtcp" port="30514" ruleset="remote1")
-
Salvar as mudanças no arquivo
/etc/rsyslog.d/remotelog.conf
. Certifique-se de que o serviço
rsyslog
esteja rodando e ativado no servidor de registro:# systemctl status rsyslog
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
Seu servidor de log está agora configurado para receber e armazenar arquivos de log de outros sistemas em seu ambiente.
Verificação
Teste a sintaxe do arquivo
/etc/rsyslog.conf
:# rsyslogd -N 1 rsyslogd: version 8.1911.0-2.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
Recursos adicionais
-
As páginas
rsyslogd(8)
,rsyslog.conf(5)
,semanage(8)
, efirewall-cmd(1)
man -
Documentação instalada com o pacote
rsyslog-doc
em file:///usr/share/doc/rsyslog/html/index.html