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

  1. 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 prefixo example_fwd no diretório de trabalho especificado pela diretiva global workDirectory anterior,
    • a configuração action.resumeRetryCount -1 impede que rsyslog deixe cair mensagens ao tentar conectar novamente se o servidor não estiver respondendo,
    • habilitado queue.saveOnShutdown="on" salva dados in-memory se rsyslog 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 se rsyslog ficar sem espaço na fila de memória configurada ou precisar ser desligado, o que beneficia o desempenho do sistema.

  2. Reinicie o serviço rsyslog.

    # systemctl restart rsyslog

Verificação

Para verificar se o sistema cliente envia mensagens para o servidor, siga estes passos:

  1. No sistema do cliente, envie uma mensagem de teste:

    # logger test
  2. 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 caso root.

Recursos adicionais