¿Cómo puedo reenviar un mensaje desde un archivo de registro específico como /www/myapp/log/test.log
con el rsyslog
cliente al rsyslog
servidor remoto ? Este archivo de registro está fuera del directorio /var/log
.
¿Cómo puedo reenviar un mensaje desde un archivo de registro específico como /www/myapp/log/test.log
con el rsyslog
cliente al rsyslog
servidor remoto ? Este archivo de registro está fuera del directorio /var/log
.
Respuestas:
Simplemente configure una regla de archivo en su /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>
Esto mira un archivo y lo guarda en la instalación local3 en syslog. Luego puede enviar todos los datos de la instalación local3 a su servidor remoto. También puede agregar lo siguiente a su conf rsyslog (generalmente /etc/rsyslog.d/50-default.conf en Ubuntu) para no guardar la instalación local3 en / 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
Además, recomendaría leer algunos de los siguientes documentos de rsyslog para un filtrado más avanzado:
En ubuntu, también tuve que comentar las líneas de privilegios de caída para que el rsyslog realmente lea el archivo de registro fuera de / var / logs.
#/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>
# Set the default permissions for all log files.
#
#$FileOwner syslog
#$FileGroup adm
#$FileCreateMode 0640
#$DirCreateMode 0755
#$Umask 0022
#$PrivDropToUser syslog
#$PrivDropToGroup syslog