Comment puis-je transférer le message d'un fichier journal spécifique comme /www/myapp/log/test.log
avec le rsyslog
client vers le rsyslog
serveur distant ? Ce fichier journal se trouve en dehors du répertoire /var/log
.
25
Configurez simplement une règle de fichier dans votre /etc/rsyslog.conf
#/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /data/mysql/error.log
$InputFileTag mysql-error
$InputFileStateFile stat-mysql-error
$InputFileSeverity error
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@hostname:<portnumber>
Cela surveille un fichier et enregistre dans l'installation locale3 dans syslog. Ensuite, vous pouvez envoyer toutes les données de l'installation locale3 à votre serveur distant. Vous pouvez également ajouter les éléments suivants à votre conf rsyslog (généralement /etc/rsyslog.d/50-default.conf sur Ubuntu) pour ne pas enregistrer la fonction local3 dans / var / log / syslog:
#/etc/rsyslog.d/50-default.conf
*.*;auth,authpriv.none,local1.none,local2.none,local3.none,local4.none,local5.none,local6.none -/var/log/syslog
De plus, j'encouragerais la lecture des documents rsyslog suivants pour un filtrage plus avancé:
Sur Ubuntu, j'ai également dû commenter les lignes de privilèges de suppression afin que le rsyslog lise réellement le fichier journal en dehors de / var / logs.
la source