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

Как перенаправить все журналы EC2 apache на один сервер

Лучший способ собрать все журналы Apache для всех моих экземпляров EC2 Web Server в одном месте, создать экземпляр EC2 Micro «LogServer» и указать на него все конфигурации Apache? Не знаю, как это сделать, и не знаю, может ли кто-нибудь помочь в этом. Мне нужно делать это через системный журнал?

Я предполагаю, что вы используете SystemD На базе Linux Rsyslog лучше подходит в этой ситуации:

На центральном сервере журналов

Разрешить серверу получать журналы от клиентов через порт 514 через udp раскомментировав приведенные выше строки на /etc/rsyslog.conf :

$ModLoad imudp
$UDPServerRun 514

О клиентах

Разрешить клиентам отправлять Apache журналы ошибок, доступа, агента и SSL на центральный сервер путем редактирования Apache Файл конфигурации /etc/httpd/conf/httpd.conf :

ErrorLog  "|/usr/bin/logger -i -t httpd-host1 -p daemon.warning --server syslog.example.com --udp"
CustomLog "|/usr/bin/logger -i -t httpd-host1 -p daemon.info --server syslog.example.com --udp" combined

P.S: Используйте любой тег для объекта, чтобы различать журналы, полученные от разных клиентов. Здесь я использовал host1 как тег.

Перезапустите httpd на клиентах:

systemctl restart httpd

На центральном сервере журналов и клиентах перезапустите rsyslogd:

systemctl restart rsyslog 

Проверьте журналы на центральном сервере журналов:

 grep 'httpd-host1' /var/log/messages

Вы можете использовать syslog, если хотите свернуть свой собственный, один из способов - использовать канал, например

CustomLog "| /usr/sbin/rotatelogs /var/log/httpd/access_log.%Y-%m-%d-%H_%M_%S 86400"

В этом примере журнал доступа apache передается в файл через утилиту rotatelogs (см. "|" В начале). Вы можете заменить его своим собственным скриптом, который отправляет журнал куда угодно.

Вы можете сделать это через системный журнал, и мне кажется, что наличие сервера журналов - это нормально. Чтобы узнать, как это сделать, я бы посоветовал почитать, поскольку это очень распространенная проблема, вы можете начать здесь: Удаленный вход в Apache