如何将应用程序日志转发到远程日志服务器?

如何将应用程序日志转发到远程日志服务器?

我有一个应用程序在 中写入自己的日志文件/var/log/app/app.log。如何将这些日志转发到远程 Rsyslog 服务器?

答案1

您可以使用图像文件模块。

在发送服务器的 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

答案2

您可以使用系统日志工具转发日志。

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);
};

答案3

如果日志不支持 [r]syslog,请在远程服务器上创建一个 nfs 导出来保存日志,并将导出安装到应用服务器的 /var/log/app 上。

答案4

您可以使用文件记录器它不需要您在本地主机上安装和配置 rsyslog 或其他 syslog 软件。

相关内容