Отправьте все журналы Linux в удаленный rsyslog и хранилище в исходном имени файла

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

Проблема 1: На центральном сервере я должен сохранить журналы в следующем формате:

<root_dir>/<server_name>/<year>/<month>/<day>/{messages, mail, auth, httpd, etc}.log (the exact original file name of the log file)

rsyslog сервер conf

$template RemoteHost,"/var/log/remotes/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/%PROGRAMNAME%.log" which creates the folder structure ok but for some logs it doesn't work (httpd logs)

Проблема 2: Я должен отправить ВСЕ журналы. На удаленных серверах (песни) я настроил классика

*.* @@<central-server-hostname>:5544

но я вижу, что журналы httpd не, отправляют (я вещь, которая это - потому что фильтр. и журналы httpd называют как "httpd_acces", и не соответствует фильтру.

Вы знаете, возможно ли это?

0
задан 20 July 2015 в 11:26
2 ответа

Apache не использует syslog по умолчанию, он просто записывает в некоторые файлы, определенные в конфигурации Apache по умолчанию.

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

0
ответ дан 5 December 2019 в 12:37

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

*. * в конфигурации системного журнала, а не маска файла. Это маска для . ... что-то вроде kern.error . См. документы , чтобы узнать, как это работает.

0
ответ дан 5 December 2019 в 12:37

Теги

Похожие вопросы