AWS EC2实例应用程序日志

时间:2013-01-17 12:42:15

标签: linux logging amazon-web-services ubuntu-12.04

我想在可以从以下位置访问的设备上存储uWSGI(“/ var / log / uwsgi / uwsgi.log”)等应用程序的日志 多个实例,可以使用自己的实例名称dir将其日志保存到该特定设备。

AWS也提供了解决方案....

2 个答案:

答案 0 :(得分:2)

您可以在此处采取多种方法。如果您希望获得类似于直接写入文件系统的体验,那么您可以使用s3fs之类的东西来为每个实例安装一个公共S3存储桶。这将为您提供或多或少的实时日志合并,但老实说,我会担心这种设置在大批量应用程序中的性能。

您可以定期处理日志以将数据推送到某个公共存储。这不是实时的,但可能是一个非常简单的解决方案。这里的问题是,如果您需要按时间顺序排列日志条目,则可能很难交错来自不同服务器的日志条目。

就个人而言,我为我拥有的每个实例集群设置了一个Graylog服务器,我记录了所有访问日志,错误日志等。它是基于UDP的,因此它很容易被应用程序忘记服务器的立场。它还提供了很好的搜索/查询工具。我个人喜欢这种方法,因为它完全从应用程序服务器中删除了日志管理。

答案 1 :(得分:1)

我使用过的两个选项:

  • 使用syslog(或Syslog-NG)登录到集中位置。我们这样做是为了将我们的AWS日志数据发送到我们的数据中心。 Syslog-NG比普通的'Syslog更可靠,允许我们使用MongoDB作为后备存储。

  • 使用logrotate将日志推送到S3。它不像Syslog解决方案那样实时,但设置和管理起来要容易得多,特别是如果你有很多实例并且没有使用VPC

LogglySplunk Storm也是两个有趣的SaaS产品,旨在解决此问题。