Como configurar o cliente RSYSLOG para enviar logs para o RSYSLOG Server no CentOS 7

Como configurar o cliente RSYSLOG para enviar logs para o RSYSLOG Server no CentOS 7

O gerenciamento de logs é um dos componentes mais críticos em uma infraestrutura de rede. As mensagens de logs são geradas constantemente por vários softwares do sistema, como utilitários, aplicativos, daemons, serviços relacionados à rede, kernel, dispositivos físicos e assim por diante.

Os arquivos de log prova ser útil em caso de solução de problemas do sistema Linux, monitorar o sistema e revisar a força e problemas de segurança do sistema.

Rsyslog é um programa de registro de código aberto, que é o mecanismo de log mais popular em um grande número de distribuições Linux. É também o serviço de registro padrão em CENTOS 7 ou RHEL 7.

Rsyslog Daemon no CentOS pode ser configurado para ser executado como um servidor para coletar mensagens de log de vários dispositivos de rede. Esses dispositivos atuam como clientes e são configurados para transmitir seus logs para um servidor RSYSLOG.

No entanto, o Rsyslog O serviço também pode ser configurado e iniciado no modo de cliente. Esta configuração instrui o daemon rsysLog a encaminhar mensagens de log para um servidor RSYSLOG remoto usando os protocolos de transporte TCP ou UDP. O serviço rsyslog também pode ser configurado para executar como cliente e como servidor ao mesmo tempo.

Neste tutorial, descreveremos como configurar um CENTOS/RHEL 7 Daemon RSYSLOG para enviar mensagens de log para um servidor RSYSLOG remoto. Esta configuração garante que o espaço do disco da sua máquina possa ser preservado para armazenar outros dados.

O local onde quase todos os arquivos de log são escritos por padrão em CENTOS é o /var caminho do sistema. Também é aconselhável sempre criar uma partição separada para /var diretório, que pode ser cultivado dinamicamente, a fim de não esgotar o /(raiz) partição.

Um Rsyslog O cliente sempre envia as mensagens de log em texto simples, se não especificado de outra forma. Você não deve configurar um cliente RSYSLOG para transmitir mensagens de log em relação à Internet ou redes que não estão sob seu controle completo.

Requisitos

  1. CENTOS 7.3 Procedimento de instalação
  2. RHEL 7.3 Procedimento de instalação
  3. Configure um servidor RSYSLOG no CentOS/RHEL 7

Etapa 1: Verifique a instalação do RSYSLOG

1. Por padrão, o daemon rsysLog já está instalado e executando em um sistema CentOS 7. Para verificar se o serviço RSYSLOG está presente no sistema, emita os seguintes comandos.

# rpm -q | Grep rsyslog # rsysLogd -v 
Verifique a instalação do RSYSLOG

2. Se o pacote RSYSLOG não estiver instalado no CentOS, execute o comando abaixo para instalar o serviço.

# yum install rsyslog 

Etapa 2: Configure o serviço RSYSLOG como cliente

3. Para fazer cumprir o daemon rsysLog instalado em um CENTOS 7 Sistema para atuar como um cliente de log e rotear todas as mensagens de log geradas localmente para um servidor RSYSLOG remoto, modifique o arquivo de configuração do RSYSLOG da seguinte forma:

Primeiro abra o arquivo de configuração principal para edição.

# vi /etc /rsyslog.conf 

Em seguida, anexe a linha abaixo no final do arquivo, conforme ilustrado no trecho abaixo.

*. * @192.168.10.254: 514 

Na linha acima garante que você substitua o endereço IP do FQDN do servidor RSYSLOG remoto de acordo. A linha acima instrui o daemon rsysLog a enviar todas as mensagens de log, independentemente da instalação ou gravidade, para o host com o IP 192.168.10.254 através da 514/UDP porta.

Configure o cliente RSYSLOG

4. Se o servidor de log remoto estiver configurado para ouvir apenas nas conexões TCP ou você quiser usar um protocolo de rede de transporte confiável, como o TCP, adicione outro @ Personagem em frente ao host remoto, como mostrado no exemplo abaixo:

*. * @@Histórico.domínio.LAN: 514 

O Linux Rsyslog também permite ter alguns caracteres especiais, como = ou !, que pode ser prefixado aos níveis prioritários para indicar “apenas essa prioridade"Para sinal igual e"não essa prioridade ou superior a isso”.

Algumas amostras de qualificadores de nível de prioridade do RSYSLog no CentOS 7:

  • Kern.informações = logs do kernel com prioridade de informações e superior.
  • Kern.= informações = apenas mensagens do kernel com prioridade de informações.
  • Kern.Info; Kern.!errar = apenas mensagens de kernel com informações, aviso e prioridades de aviso.
  • Kern.Debug; Kern.!= aviso = todas as prioridades do kernel, exceto aviso.
  • Kern.* = todas as mensagens de prioridades do kernel.
  • Kern.nenhum = Não registre nenhuma mensagem relacionada à instalação do kernel, independentemente da prioridade.

Por exemplo, supondo que você queira enviar apenas mensagens de instalação específicas para um servidor de log remoto, como todas as mensagens de email relacionadas, independentemente do nível de prioridade, adicione a linha abaixo ao arquivo de configuração do RSYSLOG:

correspondência.* @192.168.10.254: 514 

5. Por fim, para aplicar a nova configuração, o serviço RSYSLOG precisa ser reiniciado para que o daemon consulte as alterações, executando o comando abaixo:

# SystemCtl Reiniciar rsysLog.serviço 

6. Se, por alguns motivos, o RSYSLOG Daemon não estiver ativado durante o tempo de inicialização, emita o comando abaixo para ativar o serviço de serviço em todo o sistema:

# SystemCtl Ativar rsysLog.serviço 

Etapa 3: Envie logs Apache e Nginx para um servidor de log remoto

7. O servidor HTTP Apache pode ser configurado para enviar mensagens de logs para um servidor syslog remoto, adicionando a seguinte linha ao seu principal arquivo de configuração, conforme ilustrado no exemplo abaixo.

# vi/etc/httpd/conf/httpd.conf 

No arquivo confiado principal do Apache, adicione a linha abaixo.

CustomLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -access.log | /usr/bin/logger -thttpd -plocal1.AVISO '"Combinado 

A linha aplicará o daemon http para escrever as mensagens de log internamente para o arquivo de log do sistema de arquivos, mas também processar instalação.

8. Se você também quiser dirigir Apache Mensagens de log de erro a um servidor syslog remoto, adicione uma nova regra conforme a apresentada no exemplo acima, mas substitua o nome do arquivo de log HTTPD e o nível de gravidade do arquivo de log para corresponder à prioridade do erro, conforme mostrado no seguinte amostra:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -error.log | /usr/bin/logger -thttpd -plocal1.errar'" 

9. Depois de adicionar as linhas acima, você precisa reiniciar o Apache Daemon para aplicar alterações, emitindo o seguinte comando:

# SystemCtl Reiniciar httpd.serviço 

10. AS VERSION 1.7.1, O NGINX Web Server possui recursos de criação para registrar diretamente suas mensagens em um servidor syslog remoto, adicionando as seguintes linhas de código a um arquivo de configuração Nginx.

error_log syslog: server = 192.168.1.10: 514, instalação = local7, tag = nginx, gravidade = erro; access_log syslog: server = 192.168.10.254: 514, instalação = local7, tag = nginx, gravidade = informação principal; 

Para um IPv6 Servidor, use o seguinte formato de sintaxe para incluir o endereço IPv6.

access_log syslog: server = [7101: dc7 :: 9]: 514, instalação = local7, tag = nginx, gravidade = info; 

11. No servidor remoto RSYSLOG, você precisa fazer a seguinte alteração no arquivo de configuração do RSYSLOG, para receber os logs enviados pelo Apache Web Server.

Local1.* @Apache_ip_address: 514 

Isso é tudo! Você configurou com sucesso Rsyslog Daemon para executar no modo cliente e, também, você instruiu Apache http servidor ou Nginx Para encaminhar suas mensagens de log para um servidor syslog remoto.

Caso você traga o sistema, você poderá investigar o problema inspecionando o conteúdo dos arquivos de log que são armazenados no servidor syslog remoto.