簡體   English   中英

適用於S3的AWS Cloudwatch監控

[英]AWS Cloudwatch monitoring for S3

Amazon Cloudwatch提供了一些非常有用的指標來監視我的EC2,負載均衡器,elasticache和RDS數據庫等,並允許我為整個標准設置警報; 但是有什么方法可以配置它來監視我的S3嗎? 或者是否有其他監視工具(僅啟用日志記錄)可以幫助我監視S3資源的POST / GET請求數和數據量? 並為活動閾值或數據存儲增加提供警報?

AWS S3是托管存儲服務。 AWS CloudWatch S3可用的唯一指標是NumberOfObjectsBucketSizeBytes 為了更好地了解S3的用法,您需要做一些額外的工作。

我最近編寫了一個AWS Lambda函數來完全滿足您的要求,並且可以在此處使用:

https://github.com/maginetv/s3logs-cloudwatch

它通過解析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,因此您也可以輕松為其設置警報。 GitHub存儲庫中包含CloudFormation模板,您可以非常快速地部署此功能,以了解您的S3存儲桶使用情況。

編輯2016-12-10:

2016年11月,AWS在CloudWatch中添加了額外的S3請求指標,可以在需要時啟用它。 其中包括AllRequestsGetRequestsPutRequestsDeleteRequestsHeadRequests指標 。有關此功能的更多詳細信息,請參閱使用Amazon CloudWatch文檔監控指標

我也找不到使用CloudWatch進行此操作的任何方法。 Derek @ AWS回答了2012年4月的這個問題,因為CloudWatch中沒有S3支持。 https://forums.aws.amazon.com/message.jspa?messageID=338089

我唯一想到的就是將S3訪問日志導入到日志服務(如Splunk)。 然后創建一個自定義雲監視指標,在其中發布從日志中解析的數據。 但是,然后您必須過濾掉訪問日志的輪詢,然后……在進行訪問時,您可以僅在Splunk中而不是在S3中創建警報。

如果您的用例只是在過量使用時發出警報,則可以針對S3的使用情況設置帳戶計費警報。

我認為這可能取決於您要從哪里跟蹤訪問。 即,如果您嘗試從外部http / https請求中測量/監視S3對象的使用,則Anthony的建議是否啟用S3日志記錄然后導入splunk(或redshift)以進行分析可能有用。 您還可以每天根據請求查看帳單狀態。

如果嘗試從您自己的應用程序內部查看使用情況,則有一些AWS開發工具包cloudwatch指標:

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/metrics/package-summary.html

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/metrics/S3ServiceMetric.html

S3是一項托管服務,這意味着您無需根據系統事件采取任何措施即可使其保持正常運行(只要您有能力負擔使用該服務的費用)。 CloudWatch的精神是幫助監視服務,這些服務要求您采取措施以使其保持運行狀態。

例如,EC2實例(由您自己管理)通常需要監視以提醒它們何時過載,何時未充分使用或崩潰。 在某個時候,需要采取措施來擴展新實例以進行擴展,縮減未使用的實例以進行擴展或重新啟動已崩潰的實例。 CloudWatch旨在幫助您更有效地管理這些資源。

要在您的存儲桶中啟用請求和數據傳輸指標 ,您可以運行以下命令。 請注意,這些是付費指標。

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

本教程介紹了如何在帶指向和單擊界面的AWS Console中執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM