Envie logs de acesso do Apache ao syslog

2

Temos o IBM HTTP Servers (Baseado no Apache 2.0) e queremos enviar os logs access para o syslog. (além dos logs de erros que funcionam)

A configuração que estamos usando é a seguinte:

ErrorLog "|/HTTPServer/bin/rotatelogs /archive/http/error_log.%Y%m%d 86400 | /usr/bin/logger -t httpd -plocal6.err"
LogLevel warn
LogFormat "%h %{True-Client-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D \"%{Host}i\" %v" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog "|exec /usr/bin/logger -t ptseelm-ax3004 -i -p local6.notice" combined

Mas as entradas de registros nem aparecem no syslog.out local

veja como são os processos:

ps -ef | grep httpd
apache  6226000  8388618   0 09:04:01      -  0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start
apache  6750220  8388618   0 09:04:01      -  0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start
apache  7602390  8388618   0 09:04:01      -  0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start
root  8388618        1   0 09:04:01      -  0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start
root  9044038  8388618   0 09:04:01      -  0:00 /usr/bin/logger -t httpd -plocal6.err

Portanto, não há um agente de log anexado aos processos filhos ... é esse o problema? Alguém pode me ajudar? :)

Temos o seguinte no syslog.conf:

local6.*        @somerealipaddress
    
por Seer 01.11.2013 / 10:11

1 resposta

3

Gostaria de sugerir que, em vez de canalizar diretamente para o logger, seria melhor escrever em um arquivo e depois ter um processo separado para ler esse arquivo e enviá-lo para o syslog.

Muitos programas de syslog, por ex. rsyslog e syslog-ng, podem ler de um arquivo assim como de / dev / log. Outra opção é simplesmente usar tail -F e pipe para logger.

    
por 01.11.2013 / 10:30