CentOS - rsyslog e PHP - Log para servidor remoto e centralizado

1

Estou trabalhando em um projeto com um pequeno número de servidores que hospedam um aplicativo PHP. Neste momento, cada servidor está atualmente registrando erros de php, localmente, em /var/log/php/oops.log, mas gostaria de implementar uma solução na qual eu possa efetuar login em um servidor central e visualizar as entradas do log de erros de qualquer servidor hospedando o aplicativo PHP.

Eu tenho feito algumas leituras, e preciso de uma verificação de sanidade nas etapas para realizar meu jogo final.

  • Altere a diretiva error_log do php.ini para efetuar login em 'syslog' em vez de '/var/log/php/oops.log'
  • Configure o /etc/rsyslog.conf em cada servidor de aplicativos para filtrar mensagens PHP e encaminhá-las para um servidor central (remoto)
  • Configure o servidor central para aceitar conexões de todos os servidores de aplicativos (iptables etc)

Minha configuração atual do sistema é centos 6.2 (e algumas .3) e todas as caixas usam rsyslog.

Estou no caminho certo com os passos acima? Alguém sabe de algum recurso passo-a-passo que possa ajudar?

    
por Mike Purcell 26.09.2012 / 02:25

1 resposta

1

Então a solução que acabei indo é:

  1. Configure o php.ini de cada servidor para efetuar login no syslog
  2. Garantir que todos os servidores de borda possam se conectar ao servidor remoto syslog
  3. Para cada servidor de borda, edite /etc/rsyslog.conf para registrar local1.* @syslog
  4. No servidor syslog , edite /etc/rsyslog.conf para filtrar mensagens usando canais externos e filtros

Agora, quando uma mensagem php é registrada em um servidor de borda, ela é enviada ao servidor remoto centralizado (syslog), onde a mensagem é analisada e filtrada para um outchannel se determinados critérios forem atendidos. Isso permite que eu tenha apenas que monitorar um arquivo de log para todos os meus servidores de borda.

    
por 09.10.2012 / 02:37