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

Можем ли мы настроить Apache для отправки журналов непосредственно в систему анализа журналов?

Я хочу настроить Apache для отправки журналов доступа в систему анализа журналов, поэтому можно ли это сделать, настроив Apache, или мне нужно использовать инструмент Syslog для отправки журналов.

Вместо того, чтобы иметь syslog для обработки журналов Apache, Apache может очень хорошо отправлять свои записи немедленно в syslog, как объяснено, например. Системный журнал конфигурации Apache

Этого достаточно:

CustomLog "|/usr/bin/logger -t httpd -p <facility>.<priority>" <log format name>

Вам может потребоваться настройка системного журнала, если стандартная обработка этих сообщений недостаточна.

Вы не упоминаете конкретное программное обеспечение для анализа журналов, я думаю, вы хотите сделать это через протокол системного журнала. Следовательно, вам необходимо сделать следующее в вашем клиенте системного журнала (веб-сервере apache).

  1. Создайте файл конфигурации в /etc/rsyslog.d/apache_access.log.conf

Для access.log:

$ModLoad imfile
$InputFileName /var/log/apache2/access.log
$InputFileTag apache_access:
$InputFileStateFile stat-apache-access
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
$InputFilePollInterval 10
local3.* @@ip-analysis-system:<portnumber-ip-analysis-system>

Для error.log

/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /var/log/apache2/error.log
$InputFileTag apache_error:
$InputFileStateFile stat-apache-error
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
$InputFilePollInterval 10
local3.* @@ip-analysis-system:<portnumber-ip-analysis-system>
  1. Перезапустите системный журнал с помощью:

    systemctl перезапустить rsyslog

    Теперь все данные из объекта local3 отправляются на ваш сервер анализа.

Кстати: думаю, ваш вопрос дублирован. Посмотрите ссылку ниже.

Как перенаправить определенный файл журнала за пределы / var / log с помощью rsyslog на удаленный сервер?