Назад | Перейти на главную страницу

Отправить журналы доступа Apache в системный журнал

У нас есть HTTP-серверы IBM (на основе Apache 2.0), и мы хотим отправить доступ журналы в системный журнал. (в дополнение к журналам ошибок, которые действительно работают)

Конфигурация, которую мы используем, выглядит следующим образом:

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

Но записи журналов даже не появляются в локальном syslog.out

вот как выглядят процессы:

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

Итак, к дочерним процессам не прикреплен регистратор ... в этом ли проблема? Кто-нибудь может мне помочь? :)

В syslog.conf есть следующее:

local6.*        @somerealipaddress

Я бы предложил вместо того, чтобы напрямую подключаться к регистратору, вам было бы лучше записать в файл, а затем иметь отдельный процесс, читающий этот файл и отправляющий его в системный журнал.

Многие программы системного журнала, например rsyslog и syslog-ng могут читать как из файла, так и из / dev / log. Другой вариант - просто использовать tail -F и канал для логгера.