Amazon Web Service S3 Buckets confusing or not accurate

Amazon Web Service S3 Buckets confusing or not accurate

I added an "Amazon Web Service" Monitor, and I followed the instructions to add credentials so that site24x7 will have read-only access to my AWS information.  I use S3, Cloudfront, Cloudwatch and IAM but the site24x7 monitor only checks EC2, DynamoDB, Load balancer and S3.  So at least I can monitor S3.

But I don't understand the reported metrics, and I believe they are incorrect.

  • The "Amazon Web Service" Monitor says I have a "bucket size" of 9.  What does this mean?  Looking at my sole S3 bucket, there's not only nine of any one type of object.
  • The monitor says "number of objects" is 2,000.  What does this mean?  I would've expected this would match the "NumberOfObjects" I can fetch with the S3 API, but when I use Cloudfront or awscli, this metric is 2,995,827 not two-thousand.
  • The monitor says "virtual folders" is 1. What is a virtual folder in this context?  If you mean buckets, say "buckets," else I'll think you mean the actual virtual folders inside each bucket (that is to day, the distinict pathnames parts of S3 bucket object names), and I have hundreds of those.
  • The most important statitic, the one that determines how much I'm billed each month, would be the bucket size in bytes, is completely missing.

Here's an example of fetching the info(*) I expect your monitor to fetch, using exactly the same credentials I gave site24x7 to fetch so I know it's not that you're locked out: (*: average over a day, but I could refine this to match polling periods)

/usr/local/bin/aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time $(date -d 'now - 1 day' +%s) --end-time $(date +%s) --period 86400 --statistics A verage --metric-name NumberOfObjects --dimensions Name=BucketName,Value=${BUCKETNAME} Name=StorageType,Value=AllStorageTypes

{ "Datapoints": [ { "Timestamp": "2017-04-20T18:54:00Z", "Average": 2995827.0, "Unit": "Count" } ], "Label": "NumberOfObjects" }


/usr/local/bin/aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time $(date -d 'now - 1 day' +%s) --end-time $(date +%s) --period 86400 --statistics Average --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=${BUCKETNAME} Name=StorageType,Value=StandardStorage

{ "Datapoints": [ { "Timestamp": "2017-04-20T18:52:00Z", "Average": 3859502995442.0, "Unit": "Bytes" } ], "Label": "BucketSizeBytes" }

 

Could someone tell me what the S3 Buckets metrics mean, and how I can configure the Amazon Web Services monitor to give me the metrics I require?