Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何向Amazon Cloudwatch发送log4perl日志消息?_Perl_Amazon Web Services_Logging_Log4perl_Cloudwatch - Fatal编程技术网

如何向Amazon Cloudwatch发送log4perl日志消息?

如何向Amazon Cloudwatch发送log4perl日志消息?,perl,amazon-web-services,logging,log4perl,cloudwatch,Perl,Amazon Web Services,Logging,Log4perl,Cloudwatch,我有一个在AmazonEC2实例上运行的Perl/Plack/Postgres/LinuxWeb应用程序。我即将开始在负载平衡器后面的多个实例上运行它,因此我需要一种方法将应用程序的日志消息收集到一个地方 目前,我使用一个log4perl配置文件,它使用Log::log4perl::Appender::file将日志记录到磁盘上。有些日志消息路由到多个日志文件,有些日志消息也由发送电子邮件的附加器处理。我使用LinuxLogRotate实用程序进行轮换,但我根本不使用syslog处理应用程序级消

我有一个在AmazonEC2实例上运行的Perl/Plack/Postgres/LinuxWeb应用程序。我即将开始在负载平衡器后面的多个实例上运行它,因此我需要一种方法将应用程序的日志消息收集到一个地方

目前,我使用一个log4perl配置文件,它使用Log::log4perl::Appender::file将日志记录到磁盘上。有些日志消息路由到多个日志文件,有些日志消息也由发送电子邮件的附加器处理。我使用LinuxLogRotate实用程序进行轮换,但我根本不使用syslog处理应用程序级消息

向Amazon Cloudwatch发送日志似乎是一个很好的解决方案。虽然我可以在CPAN上找到与Amazon Cloudwatch交互的各种模块(感谢模块建议),但我找不到任何现成的log4perl Appender来帮助解决这个问题。我需要自己写吗


如果有什么不同的话,我已经在我的项目中使用了AWS::Signature4和Amazon::S3::Thin。到目前为止,我已经避免使用依赖性很强的模块,如Moose,但如果必要,我可以放宽该策略。

您可以尝试使用EC2实例的“awslogs”代理。这将有助于将日志发送到cloudwatch。装运的日志将在cloudwatch控制台的日志部分提供。

如果满足日志要求,可以使用AWSLOG(ex的良好时间戳格式)。如果您运行的是AmazonLinux,安装起来可能会容易一些,但在大多数发行版上都是可能的

阅读