Logging apache centralizado com rsyslog

1

Mantenho muitos hosts virtuais (acima de 60) hospedados em um servidor Centos executando o Apache. O virtualhosts é criado usando o Plesk, que cria arquivos de log separados para cada domínio usando o seguinte padrão /var/www/vhosts/<domain_name>/statistics/logs/{access,error}_log .

Eu gostaria de centralizar todos esses logs em outro servidor para analisá-los com o elasticsearch + logstash. Atualmente tenho um script bash que cria um arquivo <domain>.conf no /etc/rsyslog.d/ para cada domínio contido no /var/www/vhosts dir, com a seguinte configuração:

InputFileName /var/www/vhosts/<domain_name>/statistics/logs/access_log
$InputFileTag apache-access:
$InputFileStateFile state-apache-access
$InputRunFileMonitor

Existe uma maneira de criar um único arquivo .conf que enviará todos os logs para o meu servidor de log central? Algo como $InputFileName /var/www/vhosts/*/statistics/logs/access_log

Qualquer ajuda é apreciada!

    
por Vilelm 19.06.2013 / 17:45

1 resposta

1

O rsyslog do AFAIK não suporta curingas em nomes de arquivos. nxlog faz. Além disso, ele pode analisar logs do apache e enviá-los para o elasticsearch por meio de http. Você pode querer dar uma olhada nisso. (Isenção de responsabilidade: Sou afiliado ao projeto.)

    
por 25.06.2013 / 18:33