Microsoft Azure Stack Remaining Subscription Reads Monitor

Microsoft.SystemCenter.AzureStack.Deployment.RemainingSubscriptionReads.Monitor (UnitMonitor)

Microsoft Azure Stack remaining subscription reads monitor. This monitor checks the remaining subscription reads.

Knowledge Base article:

Summary

This monitor checks the Azure Stack API for the number of remaining subscription read requests.

Configuration

If a number of the remaining subscription reads to the API per hour is less than "Critical Threshold" or "Warning Threshold" monitor switches to Critical or Warning state accordingly and raises an alert.

Causes

The Resource Manager has defined limits on read requests per hour. If the number of requests reaches the limit, the Resource Manager becomes overloaded.

Resolutions

Check if there are no custom Management Pack overrides with small intervals that querying to the API too frequently and reset them to the default ones.

Element properties:

TargetMicrosoft.SystemCenter.AzureStack.Deployment
Parent MonitorSystem.Health.PerformanceState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.AzureStack.Deployment.RemainingSubscriptionReads.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Few administrative subscription reads remain

Few administrative subscription reads remain

Deployment: {0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.AzureStack.Deployment.RemainingSubscriptionReads.Monitor" TypeID="Microsoft.SystemCenter.AzureStack.Deployment.RemainingSubscriptionReads.MonitorType" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.AzureStack.Deployment" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.AzureStack.Deployment.RemainingSubscriptionReads.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<DeploymentId>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/EndpointUrl$</DeploymentId>
<TimeoutSeconds>60</TimeoutSeconds>
<IntervalSeconds>180</IntervalSeconds>
<WarningThreshold>2000</WarningThreshold>
<CriticalThreshold>500</CriticalThreshold>
</Configuration>
</UnitMonitor>