У меня есть приложение, которое записывает собственный файл журнала в /var/log/app/app.log
. Как я могу переслать эти журналы на удаленный сервер Rsyslog?
Вы можете сделать это с помощью imfile модуль.
В конфигурации rsyslog отправляющего сервера;
$ModLoad imfile
$InputFileName /var/log/app/app.log
$InputFileTag tag_app_log:
$InputFileStateFile app_log1
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
# Send over TCP
local7.* @@remoteserver
# Send over UDP
local7.* @remoteserver
В конфигурации rsyslog получающего сервера;
$template YourApp, "/path/to/yourlogs/app/app.log"
local7.* -?YourApp
Ты можешь использовать syslog-ng пересылать журналы.
source s_all {
internal();
unix-stream("/dev/log");
file("/path/to/your/file" follow_freq(1) flags(no-parse));
};
destination d_remotelogger {
udp("192.168.254.254" port(5514));
};
log {
source(s_all); destination(d_remotelogger);
};
Если журнал не поддерживает [r] syslog, создайте экспорт nfs на удаленном сервере для хранения журнала и настройте экспорт на сервере приложений в / var / log / app.
Ты можешь использовать файллоггер который не требует установки и настройки rsyslog или другого программного обеспечения syslog на вашем локальном хосте.