Non-Critical State

Microsoft.SQLServerAppliance.APS.StorageExternal.DiskStateMonitor.NonCritical (UnitMonitor)

This monitor detects if Physical Disk Component is in Non-Critical state.

Knowledge Base article:

Summary

The disk status is indicating there is a non-critical warning but system is still operational (status: 1-Warning).

The health of the mirror could be impacted by the loss of a single disk so another alert might have occurred for the disk itself.

Causes

The status is reported in the component's 'phys_disk_status' property. The Operational Status, shown in property 'phys_disk_oper_status' might provide more information about the problem.

Resolutions

Review the node's events in log 'Application and Service Logs\Microsoft\Windows\StorageSpaces-Driver\Operational' for further details.

To resolve this issue, contact Microsoft support and provide them with the alert name and details. Microsoft Support will help you to understand the failure and help you to bring the node back online or into a healthy state.

Element properties:

TargetMicrosoft.SQLServerAppliance.APS.StorageExternal.Disk
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.APS.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
Physical Disk has NON-CRITICAL status
Appliance Name: {0}
Node Name: {1}
Component: {2}
Component Details: https://{3}/Fabric/Health/NodeDetails/{4}?compId={5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServerAppliance.APS.StorageExternal.DiskStateMonitor.NonCritical" Target="APSLibrary!Microsoft.SQLServerAppliance.APS.StorageExternal.Disk" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.APS.ComponentTwoStateType" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.APS.StorageExternal.DiskStateMonitor.NonCritical.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceNetworkAddress$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeID$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ID$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>600</TimeoutSeconds>
<ConnectionString>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceTdsAddress$</ConnectionString>
<NodeName>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeName$</NodeName>
<GroupName>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/GroupName$</GroupName>
<ComponentName>$Target/Property[Type="System!System.Entity"]/DisplayName$</ComponentName>
<MonitoredState>NonCritical</MonitoredState>
</Configuration>
</UnitMonitor>