Microsoft Azure Stack Resource Provider State Monitor

Microsoft.SystemCenter.AzureStack.ResourceProvider.State.Monitor (UnitMonitor)

Microsoft Azure Stack resource provider state monitor. This monitor checks the resource provider state.

Knowledge Base article:

Summary

The monitor checks resource provider state. If the resource provider is in the "Healthy", "Warning" or "Critical" state, the monitor is switched to the corresponding state. If the resource provider is in the "Unknown" or any other state, the monitor remains in its previous state.

Causes

Resource provider is unhealthy.

Resolutions

Check if the infrastructure roles and infrastructure role instances are available and working correctly.

Element properties:

TargetMicrosoft.SystemCenter.AzureStack.ResourceProvider
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.AzureStack.ResourceProvider.State.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Resource provider is unhealthy

Resource provider {0} is in a "{1}" state.

Region: {2}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.AzureStack.ResourceProvider.State.Monitor" TypeID="Microsoft.SystemCenter.AzureStack.ResourceProvider.State.MonitorType" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.AzureStack.ResourceProvider" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.AzureStack.ResourceProvider.State.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name="State"]$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/Name$</AlertParameter3>
</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/Host/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/EndpointUrl$</DeploymentId>
<TimeoutSeconds>60</TimeoutSeconds>
<IntervalSeconds>180</IntervalSeconds>
<RegionId>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/RegionId$</RegionId>
<ProviderId>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.ResourceProvider"]/Id$</ProviderId>
<DefaultRegion>$Target/Host/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Deployment"]/Region$</DefaultRegion>
<Region>$Target/Host/Property[Type="Microsoft.SystemCenter.AzureStack.Region"]/Name$</Region>
<Provider>$Target/Property[Type="Microsoft.SystemCenter.AzureStack.ResourceProvider"]/Name$</Provider>
</Configuration>
</UnitMonitor>