Назад | Перейти на главную страницу

Как я могу переслать журнал приложения на удаленный сервер журналов?

У меня есть приложение, которое записывает собственный файл журнала в /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 на вашем локальном хосте.