Les variables $year
, $day
, ... $minute
font référence à l'heure actuelle. Vous voulez plutôt le timestamp lorsque l'événement a été généré ou signalé (voir ici pour la différence). Les propriétés timegenerated
et timereported
(== timestamp
) permettent un traitement ultérieur (c'est-à-dire que vous pouvez choisir certains champs à partir de ces propriétés). Vous ne pouvez pas récupérer les secondes de l'heure actuelle mais seulement des deux timestamps mentionnés ci-dessus. Ainsi :
template(name="sambalog" type="string"
string="%timereported:::date-year%-%timereported:::date-month%-%timereported:::date-day% %timereported:::date-hour%:%timereported:::date-minute%:%timereported:::date-second% %HOSTNAME% %app-name% %msg%\n")
Whoa, c'est une ligne très longue et au lieu de définir le modèle comme une chaîne, vous pouvez également le définir comme une liste. Le comportement est le même, seulement la définition est différente et permet des sauts de ligne et des commentaires entre les lignes. Peut-être que cela améliore la lisibilité :
template(name="sambalog_list" type="list") {
property(name="timereported" dateFormat="year")
constant(value="-")
property(name="timereported" dateFormat="month")
constant(value="-")
property(name="timereported" dateFormat="day")
constant(value=" ")
property(name="timereported" dateFormat="hour")
constant(value=":")
property(name="timereported" dateFormat="minute")
constant(value=":")
property(name="timereported" dateFormat="second")
constant(value=" ")
property(name="hostname")
constant(value=" ")
property(name="app-name")
property(name="msg" spifno1stsp="on" ) # ajouter un espace si $msg ne commence pas par un
property(name="msg" droplastlf="on" ) # supprimer le retour à la ligne final de $msg s'il y en a un
constant(value="\n")
}
if $programname == 'smbd_audit' then /var/log/so-test.log;sambalog_list
Lorsque je mets ce qui précède dans /etc/rsyslog.d/so.conf
puis systemctl restart syslog.service
et finalement exécute
logger -t smbd_audit "Bonjour, $RANDOM"
alors le fichier /var/log/so-test.log
contient :
2018-10-12 22:14:12 monhote smbd_audit Bonjour, 15793