我正在使用多个 EC2 实例设置一个 SFTP 服务,以便在 AWS 上使用通用 EFS 共享(安装在/efs/sftp
)实现高可用性。
,--------,
| |
| SFTP |-------,
----- |________| | ,-----------------,
| NLB | | | |
----- |----| EFS (/efs/sftp) |
,--------, | |_________________|
| | |
| SFTP |-------'
|________|
我正在使用带有 SFTP 的 chroot 来强制用户只能访问/efs/sftp
。为了记录 chroot 的活动,我创建了/efs/sftp/dev
,并在其中使用imuxsock
( /efs/sftp/dev/log
) 配置了 rsyslog 套接字。
我主要按照这个博客来配置我的 SFTP 服务器。(https://www.the-art-of-web.com/system/sftp-logging-chroot/)。
设置的一个问题是,由于两台服务器具有相同的配置(对于rsyslog
、sftp
) ,因此两个 rsyslogs 实例都会从 获得日志创建套接字的 rsyslog 实例是唯一能够在 chroot 中记录活动的实例。/efs/sftp/dev/log
。两台服务器不会将相同的日志写入 吗/var/log/sftp.log
?
这些实例的日志(/var/log/sftp.log
)被传输到集中式日志服务器(Splunk)并最终会产生重复。
避免这种重复的最佳选择是什么?从两个服务器上的 chroot SFTP 活动获取日志的最佳方法是什么?
编辑:我今天尝试了一下,发现只有一台服务器能够获取日志。更新了问题。