Настроим клиент и сервер rsyslogd для удаленного сбора логов с разборкой по правилам и отделением локальных и удаленных логов
На сервере создаем файл /etc/rsyslog.d/remote.conf
$template RemoteHost, "/var/log/remote/%HOSTNAME%/syslog"
$template RemoteHost_daemon, "/var/log/remote/%HOSTNAME%/daemon.log"
$template RemoteHost_user, "/var/log/remote/%HOSTNAME%/user.log"
$template RemoteHost_auth, "/var/log/remote/%HOSTNAME%/auth.log"
#создаем набор правил для удаленного лога
$RuleSet remote
#
# First some standard log files. Log by facility.
#
*.* ?RemoteHost
auth,authpriv.* ?RemoteHost_auth
daemon.* ?RemoteHost_daemon
user.* ?RemoteHost_user
#привязываем набор правил к порту
$InputTCPServerBindRuleset remote
$InputTCPServerRun 10514
Правим /etc/rsyslog.conf
...
#включаем модуль tcp, можно и imrelp
$ModLoad imtcp
...
###########################
#### GLOBAL DIRECTIVES ####
###########################
#объявляем локальные правила
$RuleSet local
#
...
#говорим, что использовать локальные правила по умолчанию
$DefaultRuleSet local
На удаленном сервере в rsyslog.conf пишем
$ModLoad imklog
###########################
#### GLOBAL DIRECTIVES ####
###########################
#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
*.* @@vmhost.home.net:10514
И для всего этого счастья не забыть logrotate
/var/log/remote/*/syslog /var/log/remote/*/user.log /var/log/remote/*/auth.log /var/log/remote/*/daemon.log
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Комментариев нет:
Отправить комментарий