This page is not yet available in Spanish. We are working on its translation. If you have any questions or feedback about our current translation project, feel free to reach out to us!
Storage Monitoring is in Preview.
Overview
Storage Monitoring for Amazon S3 provides deep, prefix-level analytics to help you understand exactly how your storage is being used, detect potential issues before they impact operations, and make data-driven decisions about storage optimization. Use these insights to help you track storage growth, investigate access patterns, and optimize costs.
This guide explains how to configure Storage Monitoring in Datadog for your S3 buckets. You can set this up either manually or using the provided CloudFormation templates. Access your Storage Monitoring data by navigating to Infrastructure -> Resource Catalog -> Monitoring -> S3 Buckets.
To learn more about the Resource Catalog, see the Resource Catalog documentation.
Setup
Installation
The fastest way to set up Storage Monitoring is using the provided CloudFormation templates. This process involves two steps:
Step 1: Configure inventory generation
This template configures your existing S3 bucket to generate inventory reports, which Datadog uses to generate detailed metrics about your bucket prefixes.
In AWS CloudFormation, click Create stack in the top right corner and select With existing resources (import resources).
In the Specify template step, select Upload a template file.
Click Choose file and select the source-bucket-inventory-cfn.yaml file, then click Next.
Enter the bucket name you want AWS to start generating inventories for, and click Next.
Fill in the required parameters:
DestinationBucketName: The bucket for storing inventory files. Note: You must only use one destination bucket for all inventory files generated in an AWS account.
SourceBucketName: The bucket you want to monitor and start generating inventory files for
DestinationBucketPrefix: Specific path within the destination bucket. Ensure this path doesn’t include trailing slashes (/)
Optional parameters:
SourceBucketPrefix: (Optional) Limit monitoring to a specific path in the source bucket
Click Next.
Wait for AWS to locate your source bucket, and click Import resources in the bottom right corner.
Note: This CloudFormation template can be rolled back, but rolling back doesn’t delete the created resources. This is to ensure the existing bucket doesn’t get deleted. You can manually delete the inventory configurations by going on the Management tab in the bucket view.
Note: Review Amazon S3 pricing for costs related to inventory generation.
Step 2: Configure required permissions
This template creates two IAM policies:
A policy to allow Datadog to read inventory files from the destination bucket
A policy to allow your source bucket to write inventory files to the destination bucket
In AWS CloudFormation, click Create stack in the top right corner and select With new resources (standard).
In the Specify template step, select Upload a template file.
Click Choose file and select the cloud-inventory-policies-cfn.yaml file, then click Next.
Fill in the required parameters:
DatadogIntegrationRole: Your Datadog AWS integration role name
DestinationBucketName: The name of the bucket that receives your inventory files. Note: You must only use one destination bucket for all inventory files generated in an AWS account.
SourceBucketName: The name of the bucket you want to start generating inventory files for
DestinationBucketPrefix: If you want to reuse an existing bucket as the destination, this parameter allows the inventory files to be shipped to a specific prefix in that bucket. Ensure that any prefixes do not include trailing slashes (/)
Optional parameters:
SourceBucketPrefix: This parameter limits the inventory generation to a specific prefix in the source bucket
On the Review and create step, verify the parameters have been entered correctly, and click Submit.
Post-setup steps
After completing the CloudFormation setup, fill out the post-setup form with the following required information:
Name of the destination bucket holding the inventory files.
Prefix where the files are stored in the destination bucket.
Name of the source bucket you want to monitor (the bucket producing inventory files).
AWS region of the destination bucket holding the inventory files.
AWS account ID containing the buckets.
Datadog org ID.
To manually set up the required Amazon S3 Inventory and related configuration, follow these steps:
Step 1: Create a destination bucket
Create an S3 bucket to store your inventory files. This bucket acts as the central location for inventory reports. Note: You must only use one destination bucket for all inventory files generated in an AWS account.
Create a prefix within the destination bucket (required).
Step 2: Configure the bucket and integration role policies
Follow the steps in the Amazon S3 user guide to add a bucket policy to your destination bucket allowing write access (s3:PutObject) from your source buckets.
Ensure the Datadog AWS integration role has s3:GetObject and s3:ListObjects permissions on the destination bucket. These permissions allow Datadog to read the generated inventory files.
Object versions: Datadog recommends selecting Current Versions Only
Destination: Select the common destination bucket for inventory files in your AWS account. For example, if the bucket is named destination-bucket, enter s3://your-destination-bucketNote: If you want to use a prefix on the destination bucket, add this as well
Frequency: Datadog recommends choosing Daily. This setting determines how often your prefix-level metrics are updated in Datadog
Output format: CSV
Status: Enabled
Server-side encryption: Don’t specify an encryption key
Select the following Additional metadata fields:
Size
Last Modified
Storage Class
Note: Review Amazon S3 pricing for costs related to inventory generation.
Post-setup steps
After completing the above steps, fill out the post-setup form with the following required information:
Name of the destination bucket where inventories are stored.
Prefix where the files are stored in the destination bucket.
Region of the destination bucket.
AWS account ID containing the bucket.
Datadog role name that has the permissions to read objects in destination bucket.
Datadog org ID.
Validation
To verify your setup:
Wait for the first inventory report to generate (up to 24 hours for daily inventories)
Check the destination bucket for inventory files
Confirm the Datadog integration can access the files:
Navigate to Infrastructure -> Resource Catalog -> Monitoring -> S3 Buckets -> Installation Recommendations to see if the bucket you configured is showing in the list
Troubleshooting
If you encounter any issues or need assistance:
Verify all permissions are correctly configured
If you’re still encountering issues, reach out with your bucket details, AWS account ID, and Datadog org ID