1

我有启用了自动缩放的 EC2 实例。
现在,作为在某个实例发出终止时缩减策略的一部分,该实例上剩余的日志文件需要在 s3 上备份,但我没有找到任何方法来执行该实例的日志文件的 s3 日志记录。我尝试将所需的脚本以最高优先级放在rc0.d目录中。chkconfig我也尝试将我的脚本放入/lib/systemd/system/halt.service(或reboot.servicepoweroff.service)中,但直到现在还没有运气。

我在堆栈溢出和 AWS 论坛上找到了一些与此相关的线程,但到目前为止还没有找到合适的解决方案。

任何人都可以让我知道这个问题的解决方案吗?

4

1 回答 1

0

我发现实现此行为的唯一可靠方法是在将日志文件写入 syslog 子系统后立即使用 rsyslog/syslog 将它们传输到中央主机。

这意味着您将需要运行另一个实例来接收日志文件并将它们发送到 S3,或者使用基于 SQS 的系统,例如 logstash。

不幸的是,没有其他方法可以确保您的所有日志消息都存储在 S3 上 - 您不能保证您的脚本会在自动缩放“拔掉插头”之前完成。

于 2012-12-10T11:49:11.290 回答