Overview


Information in this article is related to using CloudMonix for monitoring Azure Table 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 Table Storage

  • what metrics can be tracked, visualized and monitored

  • what automated actions can be executed by CloudMonix


Why use CloudMonix for Azure Table Storage?

Popular usages of CloudMonix include the following examples:

  • Monitoring Uptime and Availability

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

  • Alerting on slow or failed requests to the Table Storage

Monitoring Cycle

During each monitoring cycle, CloudMonix explicitly creates and deletes a tiny test entity in a table called zcloudmonixmonitoringtable to track resource Ready status and measure Response Time.


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

Configuration

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


Azure Table 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.

 

T1rfxtA2YGQaCGEOtZZ0vYO3BbdZwO22OA.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 via the Table Storage API, however many metrics are obtained by querying Azure Storage Analytics API. It’s highly recommended to enable tracking this information 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.

 

JhtI8QvQ8QRpg11m-CCGO1nAB0QJ3teWvg.png



CloudMonix provides a default template for monitoring Azure Table Storage that contains most useful Metrics and Alerts.


FJLxFYiZL-Ifqa8Nzd84myud4qwcSZs1tQ.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 and then delete a DynamicTableEntity entity in Table Storage. Metric is retrieved via Table 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 an Azure 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 system.

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

  • Requires selecting an Azure 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


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 table 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 table 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 Table 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.