O registro é um aspecto crítico do gerenciamento de servidores Linux. As mensagens de log são úteis para análise de causa raiz e para evitar possíveis ocorrências de erros no futuro. Analisar e depurar erros do servidor é uma habilidade essencial para engenheiros de TI e administradores de sistema.

Este guia mostrará como configurar um servidor de log remoto, também conhecido como host de log, no Linux. Um host de log permite agregar logs locais do Linux a um servidor remoto centralizado para facilitar o acesso e a análise.

Por que ter um servidor de log dedicado?

O sistema operacional Linux registra a maioria das atividades em seu servidor para auditoria e depuração usando o daemon syslog (protocolo de registro do sistema). Então você pode estar se perguntando, por que eu preciso de um servidor dedicado para meus logs? Aqui estão algumas vantagens de ter um servidor de registro dedicado:

  • Melhor segurança porque o servidor de registro remoto tem apenas algumas portas abertas para o exterior.
  • Melhor desempenho do servidor porque o host de log remoto não executa muitos serviços, exceto os usados ​​para log.
  • Facilita o arquivamento e gerenciamento de mensagens de log.

As mensagens de log são importantes para auditar seus servidores e linhas de base e são uma parte essencial dos procedimentos de manutenção preventiva em sua infraestrutura de servidor.

Etapa 1: Instalando o rsyslog no Linux

Este guia se concentra no Ubuntu 20.04, mas o processo deve ser praticamente o mesmo se você estiver usando outras distribuições Linux convencionais.

rsyslog é um serviço de registro remoto para Linux e vem pré-instalado por padrão na maioria das distribuições Linux modernas, por exemplo, Ubuntu e outros sistemas baseados em Debian.

O serviço rsyslog é um daemon moderno e aprimorado para syslog, que permite apenas gerenciar logs localmente. Com o daemon rsyslog, você pode enviar seus logs locais para algum servidor Linux remoto configurado.

Se você não tem o rsyslog instalado em seu PC, você pode facilmente fazê-lo usando o seguinte comando, em distribuições baseadas em Debian:

sudo apt instalar rsyslog

No Red Hat Linux, você pode instalá-lo digitando:

yum instalar rsyslog

No Fedora e seus derivados, execute:

dnf instalar rsyslog

Para instalar o rsyslog no Arch Linux:

sim -S rsyslog

Para verificar o status do rsyslog, execute o seguinte comando:

systemctl status rsyslog

Saída:

Etapa 2: configurando o servidor de host de log

O host de log é o servidor configurado para receber mensagens de log de outros servidores ou PCs. A configuração do rsyslog reside no /etc/rsyslog.conf Arquivo.

Você pode abrir o /etc/rsyslog.conf arquivo usando qualquer editor de texto de sua escolha. Neste guia, usaremos o Vim.

Você precisará de privilégios elevados para fazer alterações no arquivo de configuração.

Antes de começar a editar o arquivo de configuração, você deve fazer um backup ou cópia do arquivo. Para isso, execute o comando:

sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config

A seguir, abra o /etc/rsyslog.conf arquivo usando um editor de texto.

sudo vim /etc/rsyslog.conf 

Existem dois protocolos que você pode usar para enviar/receber arquivos de log com rsyslog: TCP e UDP. Este guia mostra como configurar ambos.

Você não precisa configurar UDP e TCP para que o log remoto funcione. Escolha apenas um dos dois.

Se você preferir usar o UDP, procure e descomente as seguintes linhas removendo o início Libra (#) antes das linhas. Você pode encontrar essas linhas na seção de módulos do arquivo de configuração.

módulo (load="imudp")
entrada (tipo="imudp" porta="514")

Se você preferir usar TCP, descomente as linhas a seguir removendo o início Libra (#) localizado no início das linhas:

módulo (load="imtcp")
entrada (tipo="imtcp" porta="514")

A figura a seguir mostra o arquivo de configuração rsyslog configurado para usar a comunicação UDP:

Em seguida, configure o local onde o rsyslog armazenará seus logs. Para uma melhor organização, você deve categorizar os logs de entrada por sua origem. Defina um modelo em seu arquivo de configuração rsyslog adicionando as seguintes linhas:

$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?registros de entrada remota

As linhas acima mencionadas comandam o rsyslog para armazenar os logs na pasta /var/log/remote/hostname, Onde nome de anfitrião é o nome do cliente remoto que está enviando mensagens de log para o host de log.

Agora, salve as alterações que você fez. Se você estiver usando o Vim, aqui está como salvar e sair de um arquivo.

Por fim, reinicie os serviços rsyslog para que as alterações feitas entrem em vigor.

sudo systemctl reiniciar rsyslog

Etapa 3: configurando seu firewall

Se o seu firewall estiver habilitado, certifique-se de que a porta que você configurou acima seja capaz de se comunicar com o mundo externo. Você precisará editar suas regras de firewall para permitir logs de entrada.

Para distribuições baseadas em Debian, simplesmente use a ferramenta UFW, para habilitar o protocolo de transferência UDP ou TCP.

Relacionado: Como configurar o firewall no Ubuntu usando o UFW

Se você estiver usando UDP, execute o seguinte comando, em que 514 é o número da porta configurada:

sudo ufw 514/udp

Se você estiver usando TCP na porta 514, basta executar:

sudo ufw 514/tcp

No Fedora, você pode usar firewall-cmd para obter resultados semelhantes.

firewall-cmd --zone=zone --add-port=514/udp

Para Red Hat Linux, abra o iptables arquivo localizado em /etc/sysconfig/iptables usando o editor de texto de sua escolha e adicione a seguinte regra:

-A INPUT -m estado --estado NOVO -m udp -p udp --dport 514 -j ACEITAR

Reinicie o serviço iptables para que as alterações tenham efeito.

serviço iptables reiniciar

Etapa 4: configurar o cliente de registro

O cliente é a máquina que envia seus logs para um servidor host de log remoto ou centralizado. Abra o arquivo de configuração rsyslog localizado em /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Adicione a seguinte linha se você estiver usando UDP, onde 192.168.12.123 é o endereço IP do servidor remoto, você escreverá seus logs para:

*.* @192.168.12.123:514

Se você estiver usando TCP, adicione a seguinte linha. Observe que a linha tem dois @ símbolos.

*.* @@192.168.12.123:514

Salve suas alterações e reinicie o serviço rsyslog no cliente com o comando:

sudo systemctl reiniciar rsyslog

Etapa 5: Visualizando as mensagens de log no servidor

Você pode usar o SSH para fazer login em seu servidor remoto e visualizar os logs enviados dos servidores clientes. Nesse caso, o rsyslog é configurado para armazenar os logs do cliente no /var/log/remote diretório do servidor remoto.

cd /var/logs/remote

Em seguida, liste o conteúdo do diretório usando o comando ls:

ls -l

Como você pode ver na saída, o diretório contém mensagens de log para os servidores remotos denominados andiwa e rukuru. Seus arquivos de log são nomeados andiwa.log e rukuru.log respectivamente.

Você pode então ver os arquivos de log usando um editor de texto ou com Ferramentas de visualização de arquivos do Linux como gato ou menos.

O registro remoto oferece mais controle

Este guia examinou como configurar um servidor de log remoto (host de log) no Linux.

Um host de log oferece melhor organização e controle quando se trata de log. Mesmo em cenários em que um sistema está danificado ou inacessível, você ainda pode visualizar seus logs do host de log e descobrir o que deu errado.

Introdução ao log do sistema no Linux

Leia a seguir

ParticipaçãoTweetParticipaçãoE-mail

Tópicos relacionados

  • Linux
  • Administração do Sistema
  • Comandos Linux

Sobre o autor

Mwiza Kumwenda (52 artigos publicados)

Mwiza desenvolve software por profissão e escreve extensivamente em Linux e programação front-end. Alguns de seus interesses incluem história, economia, política e arquitetura empresarial.

Mais de Mwiza Kumwenda

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar