[Nano Server] Cluster Shared Volume - Free Space Monitor (MB)

Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMB.NanoServer (UnitMonitor)

This monitor checks the free space in MB of the targeted cluster shared volume.

Knowledge Base article:

Summary

The amount of free disk space on the Cluster Shared Volume has exceeded the threshold. System performance may be adversely affected and the ability to add or modify existing files on the Cluster Shared Volume may not be possible until additional free space is made available.

Configuration

The Cluster Shared Volume Free Space monitoring routine is a high configurable solution that enables Operators to set varying threshold values for system and non-system logical disk volumes. In addition separate threshold values can be set for Warning and Error states.

Since Cluster Shared Volumes may vary in size from a few gigabytes to many terabytes or more the Cluster Shared Volume Free Space monitoring routine requires that an Operator indicate both the Megabyte and Percentage based threshold values that must be passed before the Warning and Error thresholds reached. This means that in order for the threshold to be reached both the Megabyte and Percentage based threshold values for the System or Non-System Drive must be breached.

Causes

When existing files grow in size and the new files are added, the free space is taken up on a Cluster Shared Volume. When the amount of free space on the Cluster Shared Volume disk falls below the threshold, the state for the Cluster Shared Volume disk will change.

Resolutions

To increase the amount of available disk space, do one or more of the following:

Element properties:

TargetMicrosoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.NewOS
Parent MonitorMicrosoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMonitorRollup.Nano
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMB.Monitortype.NanoServer
RemotableTrue
AccessibilityPublic
Alert Message
Free Space (MB) For Cluster Shared Volume Alert
{0}: The cluster shared volume {1} mounted on {2} is running out of disk space. The value that exceeded the warning or error threshold is {4} free Mbytes. (Partition: {3}).
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMB.NanoServer" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.NewOS" ParentMonitorID="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMonitorRollup.Nano" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMB.Monitortype.NanoServer" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Monitoring.FreeSpaceMB.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Base"]/ClusterSharedVolumeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Base"]/FriendlyVolumeName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Base"]/PartitionName$</AlertParameter4>
<AlertParameter5>$Data/Context/Value$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="MonitorOk" MonitorTypeStateID="MonitorOk" HealthState="Success"/>
<OperationalState ID="MonitorWarning" MonitorTypeStateID="MonitorWarning" HealthState="Warning"/>
<OperationalState ID="MonitorError" MonitorTypeStateID="MonitorError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<LogSuccessEvent>false</LogSuccessEvent>
<ScriptGroupId>ClusterSharedVolumeMonitoring</ScriptGroupId>
<TargetComputer>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</TargetComputer>
<ClusterName>$Target/Property[Type="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Base"]/ClusterName$</ClusterName>
<TimeoutSeconds>300</TimeoutSeconds>
<ClusterSharedVolumeName>$Target/Property[Type="Microsoft.Windows.Server.ClusterSharedVolumeMonitoring.ClusterSharedVolume.Base"]/ClusterSharedVolumeName$</ClusterSharedVolumeName>
<DriveErrorMBytesThreshold>100</DriveErrorMBytesThreshold>
<DriveWarningMBytesThreshold>500</DriveWarningMBytesThreshold>
</Configuration>
</UnitMonitor>