Overview


Information in this article is related to using CloudMonix for monitoring Azure Blob Storage.


The article covers the following topics:

  • common use cases where CloudMonix can help with monitoring and automation

  • what happens in the monitoring cycle

  • what is needed to connect to and monitor Azure Blob Storage

  • what metrics can be tracked, visualized and monitored

  • what automated actions can be executed by CloudMonix


Why use CloudMonix for Azure Blob Storage?

Popular usages of CloudMonix include the following examples:

  • Monitoring Uptime and Availability

  • Monitoring Blob Storage status, utilization, usage and response times

  • Alerting on slow or failed requests to the Blob Storage


Monitoring Cycle

During each monitoring cycle, CloudMonix explicitly creates and deletes a tiny test new object in the monitored Blob Storage to track Ready status and measure Response Time.


Also, during every monitoring cycle CloudMonix will capture metrics data by directly querying Blob Storage account or the Storage Analytics API.


Configuration

CloudMonix supports Azure Blob Storage monitoring for both Classic and v2/ARM storage accounts. See this article to learn more about differences between monitoring Classic and ARM resources.


CloudMonix supports monitoring Azure Standard, Premium and Blob storage accounts. However, because Storage Analytics uses Azure Table Storage that is not supported by Premium and Blob types of storage accounts, most of the metrics (specifically any metrics that depend on Azure Storage Analytics) cannot be tracked by CloudMonix.  See this article to learn more.


Azure Blob Storage monitoring can be configured either via Setup Wizard or using the “Add New” button in the dashboard. It’s recommended to use Setup Wizard when configuring permissions for the first time, as this will simplify authorization. Learn more about authorizing with Setup Wizard here.


CloudMonix can be given access to the monitored storage similar to other Azure resources, i.e. by specifying Azure Management Certificate for Classic or token for v2/ARM Storage. It’s also possible to provide only Storage Key, but in such case users need to ensure that the key is updated in CloudMonix if it ever changes in Azure.


 MbATGvV8nXD3MZWHzAABnK_9nRr9ldgxPA.png

Metrics

Every diagnostic data point that CloudMonix retrieves from the monitored resource is considered a metric in CloudMonix. Refer to the Metrics article to learn more about metrics in general.


CloudMonix retrieves some metrics directly from the Blob Storage, however many metrics are obtained from Azure Storage Analytics. It’s highly recommended to enable Storage Analytics in Resource Configuration dialog.

CloudMonix accesses and enables collecting only Storage Analytics stats (stored in tables), it won’t use and won’t enable Storage Analytics logging. Enabling Storage Analytics will generate additional costs, see Storage Analytics and Billing to learn more.


 

PkMJ188BFMMVosXijbhz9dDB9rj5upsPDA.png


CloudMonix provides a default template for monitoring Azure Blob Storage that contains popular Metrics and Alerts.

 

FblNaT3XOXAeeM4fkegRNJSli9l_26IRIA.png


The metrics can be added, removed and customized in the Metrics tab in the resource configuration dialog.

Built-in Metrics


ResourceStatus

Identifies the last state of the monitored resource. This is a critical metric that is captured for most types of resources that CloudMonix tracks. It is used for Uptime reports and should not be removed.

  • Data Type: string

  • Possible values: Ready, Down, Unknown

  • Included in sample profile: yes, tracked in both templates as a metric called Status

  • Included in default alerts: yes, in both templates as an alert called ResourceOutage (Error) Status other than Ready sustained for at least 5 min.

Statuses are determined according to the following rules:


  • Ready - successfully connected to the resource and retrieved metrics

  • Down - there was an error when trying to retrieve data from the resource

  • Unknown - can’t connect to the resource (e.g. because of invalid credentials)



ResponseTime

Tracks the time in milliseconds it takes to create from stream and then delete a small sample Blob Storage page file. Metric is retrieved via Blob Storage API.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called ResponseTime

  • Included in default alerts: yes, in an alert called Slow Response  (Warning): Fires an alert if the response time from doing testing operations exceeds 15 seconds, sustained for at least 3 min.


AzureStorageUserAnalytics

Tracks selected metrics for a given entity in a storage analytics metrics table, where Access Type of a given metric value equals user.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Requires selecting a metric to track, e.g. AnonymousAuthorizationError, Availability or NetworkError. See the full list of available metrics.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageSystemAnalytics

Tracks selected metrics for a given entity in a storage analytics metrics table, where Access Type of a given metric value equals systemr.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Requires selecting a metric to track, e.g. AnonymousAuthorizationError, Availability or NetworkError. See the full list of available metrics.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageBlobCapacity

Tracks the amount of storage used by the storage account’s Blob service, in bytes.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageBlobContainerCount

Tracks the number of blob containers in the storage account’s Blob service. Metric is retrieved via Blob Storage API. This metric is not reliably tracked by Azure, there might be delays and inaccuracies.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageBlobFileCount

Tracks the number of blobs in the given container. Metric is retrieved via Blob Storage API. This metric is not reliably tracked by Azure, there might be delays and inaccuracies.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageBlobObjectCount

Tracks the number of committed and uncommitted block or page blobs in the storage account’s Blob service. Metric is retrieved via Blob Storage API. This metric is not reliably tracked by Azure, there might be delays and inaccuracies.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: no

  • Included in default alerts: no


AzureStorageAvailability

Tracks percent availability of storage. Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called Availability

  • Included in default alerts: no


AzureStorageEgressPerSecond

Tracks amount of bytes retrieved from storage per minute.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called Egress

  • Included in default alerts: no


AzureStorageIngressPerSecond

Tracks amount of bytes sent to storage per minute.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called Ingress

  • Included in default alerts: no


AzureStorageSuccessfullRequestsPerSecond

Tracks number of successful user requests against storage.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called SuccessfulRequests

  • Included in default alerts: yes, but must be explicitly enabled, in an alert called Failed Requests Detected (Warning): Raises an alert when total number of requests against blob storage is greater than successful number of requests for 10 minutes sustained.  Optimally, the two metrics should be the same.


AzureStorageTotalRequestsPerSecond

Tracks number of total requests against storage per minute.

  • Azure Storage Analytics must be enabled to allow CloudMonix track this metric.

  • Data Type: double

  • Included in sample profile: yes, tracked as a metric called TotalRequests

  • Included in default alerts: yes, but must be explicitly enabled, in an alert called Failed Requests Detected (Warning): Raises an alert when total number of requests against blob storage is greater than successful number of requests for 10 minutes sustained.  Optimally, the two metrics should be the same.


Alerts


Users can create alerts based on changes in any value tracked by CloudMonix (including custom metrics). Each resource template includes alerts which are suitable for a given resource. The predefined alerts for Azure Blob Storage are listed in the Metrics section. Refer to the Alerts article to learn more about alerts in general.


Alerts are available during the Trial period or in Professional and Ultimate plans only.