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

rsyslog: Как мне направить сообщения со всех удаленных машин в один файл?

У нас есть сервер системного журнала, и все наши серверы ведут на него журналы.

Нам нужно своего рода «всеобъемлющее» правило дриппа для всех удаленных сообщений, для которых мы не настроили правило.

Кто-нибудь знает, как это сделать?

Вот как я настроил это в rsyslog.conf:

# Log remote hosts to separate log file
$template PerHostLog,"/var/log/remote-hosts/%HOSTNAME%.log"
$template RemoteHostFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n"
:inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat
& ~

Это перехватывает все сообщения журнала, полученные через UDP (imudp) и помещает его в файл, имя файла которого соответствует имени хоста, с которого было отправлено сообщение журнала.

Я нашел очень хорошее "как", которое даст вам хорошее начало ...

Как настроить удаленное ведение журнала Rsyslog в Linux (центральный сервер журнала)