Linux AWS EC2实例应用程序日志
我想将uWSGI(“/var/log/uWSGI/uWSGI.log”)等应用程序的日志存储在一个可以从 多个实例,可以将其日志保存到其自己的实例名dir下的特定设备Linux AWS EC2实例应用程序日志,linux,logging,amazon-web-services,ubuntu-12.04,Linux,Logging,Amazon Web Services,Ubuntu 12.04,我想将uWSGI(“/var/log/uWSGI/uWSGI.log”)等应用程序的日志存储在一个可以从 多个实例,可以将其日志保存到其自己的实例名dir下的特定设备 AWS是否提供了解决方案……我使用的两个选项: 使用syslog(或syslog NG)登录到集中位置。我们这样做是为了将AWS日志数据异地发送到数据中心。Syslog NG比普通ole的Syslog更可靠,允许我们使用MongoDB作为备份存储 使用logrotate将日志推送到S3。它不像Syslog解决方案那样是实时的,但
AWS是否提供了解决方案……我使用的两个选项:
- 使用syslog(或syslog NG)登录到集中位置。我们这样做是为了将AWS日志数据异地发送到数据中心。Syslog NG比普通ole的Syslog更可靠,允许我们使用MongoDB作为备份存储
- 使用logrotate将日志推送到S3。它不像Syslog解决方案那样是实时的,但是设置和管理起来要容易得多,特别是当您有很多实例并且没有使用VPC时
还有两个有趣的SaaS产品,旨在解决这个问题。这里有许多方法可以采用。如果您想拥有直接写入文件系统的体验,那么可以考虑使用类似于将公共S3存储桶装载到每个实例的方法。这将或多或少为您提供一个实时日志合并,不过老实说,我担心在大容量应用程序中设置这样一个设置的性能 您可以按一定的时间间隔处理日志,将数据推送到某个公共存储区。这不是实时的,但可能是一个非常简单的解决方案。这里的问题是,如果您需要按时间顺序排列日志条目,则可能很难将来自不同服务器的日志条目交错 就我个人而言,我为我拥有的每个实例集群设置了一个服务器,我将所有访问日志、错误日志等记录到该服务器上。它基于UDP,因此从应用服务器的角度来看,它是fire and forget。它还提供了很好的搜索/查询工具。我个人喜欢这种方法,因为它将日志管理从应用服务器中完全移除