Log do Apache via syslog

0

Filed Under (Apache, Dica, software livre) by rafaelgomes on 28-09-2009

Para quem tem um servidor de log, como o syslog-ng, já deve ter percebido que o log de acesso do serviço apache não usa syslog, ou seja, ele não é enviado por padrão para o servidor de log, mas como quase tudo na informática tem seu “jeito”. Segue abaixo um forma interessante pra resolver esse problema.

Primeiro será necessário criar um arquivo binário executável com o seguinte conteúdo:

#!/usr/bin/perl
use Sys::Syslog qw( :D EFAULT setlogsock );

setlogsock(‘unix’);
openlog(‘apache’, ‘cons’, ‘pid’, ‘local1′);

while ($log = <STDIN>) {
syslog(‘notice’, $log);
}
closelog

Verifique se no seu arquivo syslog a segunte linha está configurada:

local2.* @ip do servidor de log

Agora vamos a configuração do apache:

CustomLog |/caminho/do/seu/binario combined

Atente que o | é necessário, já que será feito o pipe do comando de log.

Pronto, reinicie o serviço do apache e seu log estará sendo enviado para o servidor de log tranquilamente.

Fonte

Write a comment