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 counts
HTTP Response
Counts
Bucket Size
Bucket Object
Count
Latency
Ingress/Egress
|
Operation Counts
HTTP Response
Codes
Account Size
Account Container
Counts
Account Object
Counts
Latency
Ingress/Egress
Availability
Specific Error
Counts
|
View
|
CloudWatch Metrics
S3 Dashboard
|
Azure Monitor
Azure 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 Size
Bucket Object
Count
|
Hourly Metrics
Account Container
Counts
Account Object
Counts
Account 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.