我有一个在Amazon EC2实例上运行的Perl / Plack / Postgres / Linux Web应用程序。我即将开始在负载均衡器后面的多个实例上运行它,所以我需要一种方法将应用程序的日志消息聚集到一个地方。
目前我使用log4perl配置文件,该文件使用Log :: Log4perl :: Appender :: File将日志记录到磁盘上。一些日志消息被路由到多个日志文件,一些日志消息也由发送电子邮件的appender处理。我使用Linux logrotate实用程序进行轮换,但我根本不使用syslog作为应用程序级别的消息。
将日志发送到Amazon Cloudwatch似乎可能是解决问题的好方法。虽然我可以在CPAN上找到与Amazon Cloudwatch交互的各种模块(模块建议赞赏),但我找不到任何现成的log4perl appender来帮助解决问题。我需要自己写吗?
如果它有所不同,我已经在我的项目中使用AWS :: Signature4和Amazon :: S3 :: Thin。到目前为止,我已经避免了具有重度依赖性的模块,例如Moose,但如果有必要,我可以放宽该策略。
答案 0 :(得分:0)
你可以试试" awslogs" EC2实例的代理。这有助于将日志发送到cloudwatch。提供的日志将在cloudwatch控制台的Logs部分下提供。
答案 1 :(得分:0)
如果您满足日志要求(ex的良好时间戳格式),则可以使用awslog。如果您运行的是亚马逊Linux,可能会更容易设置,但在大多数发行版上都可能。
阅读http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/QuickStartEC2Instance.html。