1

我想将 uWSGI(“/var/log/uwsgi/uwsgi.log”)等应用程序的日志存储在可以从多个实例访问的设备上,并且可以将它们的日志保存到该特定设备下的实例名称目录下。

AWS 也提供任何解决方案来做到这一点......

4

2 回答 2

2

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

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

就个人而言,我为我拥有的每个实例集群设置了一个Graylog服务器,我将所有访问日志、错误日志等记录到该服务器上。它是基于 UDP 的,因此从应用程序服务器的角度来看它是一劳永逸的。它还提供了不错的搜索/查询工具。我个人喜欢这种方法,因为它完全从应用程序服务器中删除了日志管理。

于 2013-01-17T16:49:37.297 回答
1

Two options that I've used:

  • Use syslog (or Syslog-NG) to log to a centralized location. We do this to ship our AWS log data offsite to our datacenter. Syslog-NG is more reliable than plain ole' Syslog and allows us to use MongoDB as a backing store.

  • Use logrotate to push your logs to S3. It's not real-time like the Syslog solution, but it's a lot easier to set up and manage, especially if you have a lot of instances and aren't using a VPC

Loggly and Splunk Storm are also two interesting SaaS products intended to solve this problem.

于 2013-01-17T14:10:04.513 回答