Configure um servidor de log centralizado com rsysLog no CentOS/RHEL 8

Configure um servidor de log centralizado com rsysLog no CentOS/RHEL 8

Para que um sistema administradores reconheçam ou analisem problemas em um CENTOS 8 ou RHEL 8 Servidor, é importante conhecer e visualizar os eventos que ocorreram no servidor em um determinado período de tempo de arquivos de log encontrados em /var/log o diretório no sistema.

O Syslog (Protocolo de log do sistema) O sistema no servidor pode atuar como um ponto central de monitoramento de logs em uma rede em que todos os servidores, dispositivos de rede, interruptores, roteadores e serviços internos que criam logs, vinculados ao problema interno ou apenas mensagens informativas específicas podem enviar seus logs.

Com um CENTOS/RHEL 8 servidor, Rsyslog Daemon é o servidor de log mais importante que vem pré -instalado por padrão, seguido por Systemd Journal Daemon (Journal).

Rsyslog é um utilitário de código aberto, desenvolvido como um serviço de arquitetura de cliente/servidor e pode alcançar as duas funções de forma independente. Ele pode ser executado como um servidor e reunir todos os logs transmitidos por outros dispositivos pela rede ou pode ser executado como cliente enviando todos os eventos internos do sistema registrados para um controle remoto Syslog servidor.

Requisitos

  1. Instalação de “Centos 8.0 "com capturas de tela
  2. Instalação do RHEL 8 com capturas de tela

Para configurar um servidor de log centralizado em um CENTOS/RHEL 8 servidor, você precisa verificar um confirmar se o /var A Partition tem espaço suficiente (um pouco mínimo de GB) para armazenar todos os arquivos de log gravados no sistema que enviam por outros dispositivos na rede. Eu recomendo que você tenha uma unidade separada (Lvm ou ATAQUE) para montar o /var/log/ diretório.

Como configurar o servidor RSYSLOG no CentOS/Rhel 8

1. Como eu disse, Rsyslog o serviço está instalado e executando automaticamente em CENTOS/RHEL 8 servidor. Para verificar se o daemon está em execução no sistema, execute o seguinte comando.

# status systemctl rsyslog.serviço 
Verifique o status do RSYSLOG no CentOS 8

Se o serviço não estiver em execução por padrão, execute o seguinte comando para iniciar rsyslog Daemon.

# SystemCtl Iniciar o RSYSLOG.serviço 

2. Se o Rsyslog O utilitário não está instalado por padrão no sistema que você planeja usar como um servidor de log centralizado, execute o seguinte comando dnf para instalar o pacote rsyslog e iniciar o daemon.

# dnf install rsyslog # SystemCtl Iniciar o rsysLog.serviço 

3. Uma vez Rsyslog Utilitário instalado, agora você pode configurar o RSYSLog como um servidor de log centralizado, abrindo o arquivo de configuração principal /etc/rsyslog.conf, Para receber mensagens de log para clientes externos.

# vi /etc /rsyslog.conf 

No /etc/rsyslog.conf Arquivo de configuração, encontre e descomamento as seguintes linhas para conceder recepção de transporte UDP ao Rsyslog servidor via 514 porta. Rsyslog usa o padrão UDP protocolo para transmissão de log.

Módulo (load = "imudp") # precisa ser feito apenas uma vez que a entrada (type = "imudp" porta = "514") 
Configure o RSYSLOG Server no CentOS 8

4. O protocolo UDP não tem o TCP sobrecarga e torna a transmissão de dados mais rápida que o TCP protocolo. Por outro lado, o UDP O protocolo não garante a confiabilidade dos dados transmitidos.

No entanto, se você quiser usar TCP Protocolo para recepção de log Você deve encontrar e descomentar as seguintes linhas no /etc/rsyslog.conf o arquivo de configuração para configurar o daemon rsyslog para ligar e ouvir um soquete TCP em 514 porta.

Módulo (load = "imtcp") # precisa ser feito apenas uma vez na entrada (type = "imtcp" port = "514") 

5. Agora crie um novo modelo para receber mensagens remotas, pois este modelo orientará o servidor RSYSLOG local, onde salvar as mensagens recebidas enviadas pelos clientes da Syslog Network.

$ Remotelogs de modelo, "/var/log/%hostName%/%ProgramName%.registro" *.* ?Remotelogs 
Crie modelo para o servidor RSYSLOG

O $ Remotelogs de modelo A diretiva guia o daemon rsyslog para reunir e escrever todas as mensagens de log transmitidas em arquivos distintos, com base no nome do cliente e no aplicativo cliente remoto que criou as mensagens com base nas propriedades descritas adicionadas na configuração do modelo: %Hostname%e%programsname%.

Todos os arquivos de log recebidos serão gravados no sistema de arquivos local para um arquivo alocado nomeado após o nome do host da máquina cliente e mantido em /var/log/ diretório.

O & ~ Redirecionar a regra direciona o servidor RSYSLOG local para parar de processar mais a mensagem de log recebida e remover as mensagens (não as escreva em arquivos de log interno).

O Remotelogs é um nome arbitrário dado a esta diretiva de modelo. Você pode usar o nome que deseja mais adequado para o seu modelo.

Para configurar modelos de rsyslog mais complexos, leia o manual do arquivo de configuração do RSYSLOG, executando o Man RsysLog.conf Comandando ou consulte a documentação online do RSYSLOG.

# homem rsyslog.conf 

6. Depois de fazer as alterações de configuração acima, você pode reiniciar o daemon rsysLog para aplicar alterações recentes executando o seguinte comando.

# Serviço RSYSLOG RESTART 

7. Depois de reiniciar o Rsyslog Servidor, agora deve atuar como um servidor de log centralizado e gravar mensagens de clientes syslog. Para confirmar os soquetes da rede RSYSLOG, execute o comando netStat e use o utilitário Grep para filtrar a string rsyslog.

# netstat -tulpn | Grep rsyslog 

Se comando netstat não intall CENTOS 8, Você pode instalá -lo usando o seguinte comando.

# dnf whatprovides netstat # dnf install-tools 
Verifique os soquetes de escuta do RSYSLOG

8. Se você tem Selinux ativo em CENTOS/RHEL 8, Execute o seguinte comando para permitir o tráfego rsyslog, dependendo do tipo de soquete de rede.

# porta semanage -a -t syslogd_port_t -p udp 514 # semanage porta -a -t syslogd_port_t -p tcp 514 

Se comando semanage não instalar em CENTOS 8, Você pode instalá -lo usando o seguinte comando.

# dnf whatprovides semanage # dnf install policycoreutils-python-utils 

9. Se você tiver um firewall ativo no sistema, execute o seguinte comando para adicionar as regras necessárias para permitir o tráfego do RSYSLOG em portas no firewalld.

# firewall-cmd --permanent --add-port = 514/tcp # firewall-cmd --permanent --ad-port = 514/udp # firewall-cmd--reload 

Você também pode limitar as conexões de entrada na porta 514 de intervalos de IP de permissões listados, como mostrado.

# firewall-cmd --permanente-add-rico-rico 'regra família = "ipv4" endereço de origem = "123.123.123.0/21"porta porta =" 514 "protocolo =" tcp "aceita ' # firewall-cmd --permanente-add-rico-rico' regra família =" ipv4 "endereço de origem ="123.123.123.0/21"porta port =" 514 "protocolo =" udp "aceita ' # firewall-cmd--reload 

Isso é tudo! Rsyslog agora está configurado como um servidor de logs centralizados e pode coletar logs de clientes remotos. No próximo artigo, veremos como configurar o cliente RSYSLOG no CENTOS/RHEL 8 servidor.