这是一个简单的问题,但除了EC2 / RDS之外,我仍然是AWS的新手。
基本上我想知道在EC2实例上运行的应用程序引发的500个http错误。
理想情况下,它完全独立于应用程序的代码库。
这可以通过cloudwatch实现 - 或者可能与SNS一起使用cloudwatch实现吗?
由于
答案 0 :(得分:1)
如果您使用AWS Elastic Load Balancer,则CloudWatch可以使用其自己的内置功能监控http错误代码。没有额外的代码可以添加。
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html 他们甚至只为您的用例提供了一个 HTTPCode_Backend_5XX
否则您将需要一种方法从服务器通知Cloudwatch这500个错误。也许apache日志解析器?然后,您可以将数据集发布到cloudwatch。然后,Cloudwatch可以使用SNS通知您。
aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted --timestamp 2014-02-14T20:30:00Z --value 235 --unit Milliseconds
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/PublishMetrics.html
答案 1 :(得分:0)
您还可以设置Cloudwatch日志(想想splunk或logstash,但使用cloudwatch作为服务器引擎)。它需要安装代理和配置才能识别应用程序日志文件,但可以推送到Cloudwatch,您可以在其中设置Cloudwatch警报以使用SNS进行通知。如果您使用的是IIS或Apache(或任何相当流行的Web服务器),则应该可以轻松识别日志文件格式并由CW Logs处理,没有问题:
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CWL_GettingStarted.html