Mon exigence est de consigner tous les messages sur la machine distante. Pour atteindre cet objectif, j'ai deux versions identiques de rsyslog (rsyslogd 8.1901.0 (alias 2019.01)) sur les deux machines (serveur : 192.168.122.12 et client : 192.168.122.13).
En outre, si la machine distante est en panne, je dois mettre en mémoire tampon tous les messages afin de les envoyer plus tard, lorsqu'elle sera en ligne. Le problème est que cela a un comportement très étrange. Lorsque je ferme le serveur distant et que j'enregistre quelque chose, le message n'est jamais envoyé, même lorsque la machine distante est à nouveau en ligne. Parfois, lorsque j'enregistre à nouveau quelque chose, certains des anciens messages (mis en mémoire tampon) sont envoyés (jamais tous). Comme vous pouvez le constater, j'utilise une connexion TCP.
Ma configuration est la suivante :
Serveur : /etc/rsyslog.conf
module(load="imuxsock") # provides support for local system logging
module(load="imklog") # provides kernel logging support
module(load="imtcp")
input(type="imtcp" port="514" ruleset="remote")
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$WorkDirectory /var/spool/rsyslog
$DebugLevel 2
$DebugFile /var/log/rsyslog-debug.log
template (name="DynFile" type="string" string="/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log")
template(name="CustomFileFormat" type="list") {
property(name="timereported" dateFormat="rfc3339")
constant(value=" ")
property(name="hostname")
constant(value=" ")
property(name="syslogtag")
property(name="msg" spifno1stsp="on" )
property(name="msg" droplastlf="on" )
constant(value="\n")
}
ruleset(name="remote") {
action(type="omfile" dynaFile="DynFile" Template="CustomFileFormat")
stop
}
$IncludeConfig /etc/rsyslog.d/*.conf
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
*.emerg :omusrmsg:*
Client : /etc/rsyslog.conf
$LocalHostName my.test.machine.corp.es
module(load="imuxsock") # provides support for local system logging
module(load="imklog") # provides kernel logging support
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$WorkDirectory /var/spool/rsyslog
$DebugLevel 2
$DebugFile /var/log/rsyslog-debug.log
*.* action(
type="omfwd"
target="192.168.122.12"
port="514"
protocol="tcp"
queue.type="linkedlist"
queue.size="10000"
queue.filename="fwd_msgs"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
action.resumeinterval="30"
)
$IncludeConfig /etc/rsyslog.d/*.conf
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
*.emerg :omusrmsg:*