Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 web services 针对S3的AWS Cloudwatch监控_Amazon Web Services_Amazon S3_Amazon Cloudwatch - Fatal编程技术网

Amazon web services 针对S3的AWS Cloudwatch监控

Amazon web services 针对S3的AWS Cloudwatch监控,amazon-web-services,amazon-s3,amazon-cloudwatch,Amazon Web Services,Amazon S3,Amazon Cloudwatch,Amazon Cloudwatch提供了一些非常有用的指标,用于监控我的EC2、负载平衡器、elasticache和RDS数据库等,并允许我为一系列标准设置警报;但是有没有办法将其配置为监视我的S3?或者有没有其他监控工具(除了简单地启用日志记录之外)可以帮助我监控S3资源的POST/GET请求数和数据量?要为活动阈值或数据存储增加提供警报?我也找不到任何方法使用CloudWatch实现这一点。2012年4月的这个问题由Derek@AWS因为在CloudWatch中没有S3支持 我唯一能想到的就

Amazon Cloudwatch提供了一些非常有用的指标,用于监控我的EC2、负载平衡器、elasticache和RDS数据库等,并允许我为一系列标准设置警报;但是有没有办法将其配置为监视我的S3?或者有没有其他监控工具(除了简单地启用日志记录之外)可以帮助我监控S3资源的POST/GET请求数和数据量?要为活动阈值或数据存储增加提供警报?

我也找不到任何方法使用CloudWatch实现这一点。2012年4月的这个问题由Derek@AWS因为在CloudWatch中没有S3支持

我唯一能想到的就是将S3访问日志导入日志服务(比如Splunk)。然后创建一个自定义的cloud watch度量,在其中发布从日志解析的数据。但是你必须过滤掉访问日志的轮询,然后… 当你在做的时候,你可以在Splunk中而不是在S3中创建报警


如果您的用例只是在您过度使用它时发出警报,那么您可以为您的S3使用设置帐户计费警报。

我认为这可能取决于您希望从何处跟踪访问。也就是说,如果您试图从http/https请求外部测量/观察S3对象的使用情况,那么Anthony的建议是启用S3日志记录,然后导入到splunk(或redshift)中进行分析,这可能会奏效。您还可以每天查看请求的账单状态

如果试图从您自己的应用程序中评估使用情况,有一些AWS SDK cloudwatch指标:


S3是一项托管服务,这意味着您不需要根据系统事件采取措施来保持其正常运行(只要您能够支付服务使用费)。CloudWatch的精神是帮助监控需要您采取行动以保持其运行的服务


例如,EC2实例(由您自己管理)通常需要监控,以便在它们过载、未充分使用或崩溃时发出警报;在某些情况下,需要采取操作,以便启动新实例以向外扩展,关闭未使用的实例以向内扩展,或者重新启动已崩溃的实例。CloudWatch旨在帮助您更有效地管理这些资源。

AWS S3是一种托管存储服务。AWS CloudWatch中针对S3的唯一可用指标是
NumberOfObjects
BucketSizeBytes
。为了更好地了解S3的使用情况,您需要做一些额外的工作

我最近编写了一个AWS Lambda函数,完全满足您的要求,可在此处使用:

它的工作原理是解析S3服务器端日志文件,并将度量聚合/导出到AWS Cloudwatch(Cloudwatch允许您发布自定义度量)

在AWS帐户上部署此功能后,您将在AWS CloudWatch中获得的示例图如下:

RestGetObject_RequestCount
RestPutObject_RequestCount
RestHeadObject_RequestCount
BatchDeleteObject_RequestCount
RestPostMultiObjectDelete_RequestCount
RestGetObject_HTTP_2XX_RequestCount
RestGetObject_HTTP_4XX_RequestCount
RestGetObject_HTTP_5XX_RequestCount
+ many others
由于指标已导出到CloudWatch,因此您也可以轻松地为它们设置警报。 CloudFormation模板包含在GitHub repo中,您可以非常快速地部署此功能,以了解S3存储桶的使用情况

编辑2016-12-10:

2016年11月,AWS在CloudWatch中添加了额外的S3请求度量,可在需要时启用。这包括
AllRequests
GetRequests
PutRequests
DeleteRequests
HeadRequests
等指标。有关此功能的更多详细信息,请参阅文档。

要在bucket中启用此功能,可以运行以下命令。请注意,这些都是付费指标

aws s3api put-bucket-metrics-configuration \
    --bucket YOUR-BUCKET-NAME \
    --metrics-configuration Id=EntireBucket 
    --id EntireBucket 

描述如何在AWS控制台中使用点击式界面执行此操作。

服务可能需要许多从S3派生的不变量。例如,系统可能有一个不变量,即必须每小时向S3存储桶添加一个对象,或者必须采取措施恢复服务。使用单独的服务来监控这一点是很脆弱的。