Operational Database Space Free (\%)

Microsoft.SystemCenter.OpsMgrDBPercentFreeSpaceMonitor (UnitMonitor)

Monitors for the free space left in the operational database in percentage terms.

Knowledge Base article:

Summary

The operational database is running out of free space. Sufficient free space is needed to ensure that monitoring can continue uninterrupted. By default this monitor changes into a warning state of there is less than 40% available free space, and an error state if there is less than 20% available free space.

It is not recommended to change these thresholds, as 40% free space is generally required for a healthy operational database.

Causes

A large increase in the amount of data saved to the operational database can be caused by:

Resolutions

Increase the amount of free space by growing the database file. You can also change the grooming settings to store data for a shorter period of time.

Element properties:

TargetMicrosoft.SystemCenter.OpsMgrDBWatcher
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.OpsMgrDBPercentFreeSpaceMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Ops DB Free Space Low
Operations Manager operational database percent free space is {0}\%. Ops DB Server Name: {1} Ops DB Name: {2} Error Details: {3}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.OpsMgrDBPercentFreeSpaceMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.OpsMgrDBPercentFreeSpaceMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.OpsMgrDBPercentFreeSpaceMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='DBPercentFreeSpace']$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='Error']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderErrorThreshold" MonitorTypeStateID="UnderErrorThreshold" HealthState="Error"/>
<OperationalState ID="OverErrorThresholdUnderWarningThreshold" MonitorTypeStateID="OverErrorThresholdUnderWarningThreshold" HealthState="Warning"/>
<OperationalState ID="OverWarningThreshold" MonitorTypeStateID="OverWarningThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<DatabaseServerName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseServerName$</DatabaseServerName>
<DatabaseName>$Target/Property[Type="SCLibrary!Microsoft.SystemCenter.OpsMgrDBWatcher"]/DatabaseName$</DatabaseName>
<ErrorThreshold>20</ErrorThreshold>
<WarningThreshold>40</WarningThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>