답변:
/etc/rsyslog.conf에서 imfile 규칙을 설정하기 만하면됩니다.
#/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>
파일을 감시하고 syslog의 local3 기능에 저장합니다. 그런 다음 local3 기능의 모든 데이터를 원격 서버로 보낼 수 있습니다. local3 기능을 / var / log / syslog에 저장하지 않으려면 rsyslog conf (보통 Ubuntu의 /etc/rsyslog.d/50-default.conf)에 다음을 추가 할 수도 있습니다.
#/etc/rsyslog.d/50-default.conf
*.*;auth,authpriv.none,local1.none,local2.none,local3.none,local4.none,local5.none,local6.none -/var/log/syslog
또한 고급 필터링을 위해 다음 rsyslog 문서를 읽어보십시오.
우분투에서는 rsyslog가 실제로 / var / logs 외부의 로그 파일을 읽도록하기 위해 drop 권한 행을 주석 처리해야했습니다.
#/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