Monitoring of object storage services in the public cloud is tightly integrated with the general monitoring services (read AWS CloudWatch, Azure Monitor) of those cloud providers. The goal for this post is to discuss how monitoring is conducted.
AWS | Azure | |
---|---|---|
Metric Types | Operation CountsHTTP Response CountBucket SizeLatencyIngress/Egress | Operation CountsHTTP Response CodesAccount SizeAccount Container CountsAccount Object CountsLatencyIngress/EgressAvailabilitySpecific Error Counts |
View | CloudWatch MetricsS3 Dashboard | Azure MonitorAzure Tables (via Storage Explorer) |
Metric Intervals | 1-Minute | Hourly/Minute |
Metrics Storage | CloudWatch Metrics | Azure Tables |
Retention | CloudWatch Defaults | Configurable |
Billed | Yes(By Metric Captured) | Yes (By Data Retained / Transactions) |
Default | Bucket SizeBucket Object Count | Hourly MetricsAccount Container CountsAccount Object CountsAccount Size |
From a metrics types perspective, both AWS and Azure capture similar types of information. The only real difference is the amount of metadata that is captured by Azure about a particular request. This allows you to monitor specific conditions (for example, SAS token failure) and respond/alert appropriately.
For more information on the metrics available in AWS, please see https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html.
For more information on the metrics available in Azure, please see https://docs.microsoft.com/en-us/rest/api/storageservices/storage-analytics-metrics-table-schema
Here is an example snippit from the Azure table for the storage account I’ve been using:
You can also view this data via Azure Monitor, and use the built-in tools to hack/slash as you see fit.
In AWS, the default view is cloudwatch. As far as I know, there is no direct access to the underlying data.
The only other real difference to point out is the retention period. Since all storage account data is logged to Azure Tables, you can customize the service to retain only the amount of logs you require. In CloudWatch, the defaults are derived based on the interval the data is captured. The price for that storage is included when you turn on the metric.
 
Shamir is a Microsoft Most Valuable Professional (MVP – Azure) and has extensive experience building solutions in the cloud, from strategy to deployment to automation