我们使用AWS EC2构建了一个网站,并在典型的LAMP堆栈(ubuntu)中自动扩展。
缩放等效果很好,但是,由于实例是“临时的”,我们的apache日志在加载峰值后不会保留(因为我们不保留卷或实例)。
是否有“最佳实践/最可靠”的方法来保留这些实例的apache日志?
一个想法是在关机期间将日志文件复制到S3,方法是编写一个bash脚本,使用/etc/rc0.d
功能执行(在关机时运行脚本)。
答案 0 :(得分:8)
“最佳做法”是将所有日志聚合在允许您存档和搜索它们的服务器上。您可以备份S3中的旧日志,最终备份Glacier。
要完成所有这些工作,您需要设置apache来编写每小时或每分钟日志并编写一个cronjob来将它们rsync到某个中心位置或将它们上传到S3。
查看http://logstash.net/了解开源聚合&您可以在自己的实例上运行的搜索解决方案和http://loggly.com/用于非免费的完全托管解决方案。
编辑:我的第一个想法是“在停机时不要这样做”。您需要尽可能定期地同步日志文件,因此(例如,如果您执行精确日志记录),您将获得“近实时”日志聚合/备份和搜索。