Windows Server 2016 邏輯磁碟可用空間監視器

Microsoft.Windows.Server.10.0.Legacy.LogicalDisk.FreeSpace.Monitor (UnitMonitor)

監視邏輯磁碟上的可用空間百分比以及剩餘的可用 MB 數。只有當同時達到可用空間百分比與可用 MB 數閾值時,磁碟才會標幟為磁碟可用空間不足。

Knowledge Base article:

摘要

邏輯磁碟區上的可用磁碟空間已低於閾值。

設定

「邏輯磁碟可用空間」監視常式是一種具高度可設定性的解決方案,能讓操作員用來設定各種系統和非系統邏輯磁碟區的閾值。此外,並可針對警告和錯誤狀態設定不同的閾值。

由於邏輯磁碟區的大小差異極大,小自數 GB 而大至數 TB 以上,因此操作員在設定「邏輯磁碟可用空間」監視常式時,必須指定 MB 數閾值和百分比閾值,且必須在達到警告和錯誤閾值之前超過該閾值。這表示必須同時達到根據 MB 數和百分比所設的系統或非系統磁碟機閾值,才有可能達到閾值。

「邏輯磁碟可用空間」監視常式的預設閾值如下:

請注意,覆寫可用來變更上述定義的任一種閾值。此外,這些閾值可套用到管理群組中所有的邏輯磁碟區執行個體,或者於必要時亦可針對特定的邏輯磁碟區執行個體單獨定義閾值。

原因

系統效能可能會受到負面影響,且在空出更多可用空間之前可能將無法新增或修改邏輯磁碟區上的現有檔案。

解決方式

若要增加可用磁碟空間的容量,請執行下列一項或多項操作:

若要檢視磁碟空間最近的歷程,可使用下列檢視:

啟動磁碟容量檢視

Element properties:

TargetMicrosoft.Windows.Server.10.0.LogicalDisk
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.Legacy.LogicalDisk.FreeSpace.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
邏輯磁碟可用空間不足
電腦 {1} 上的磁碟 {0} 已用盡磁碟空間。超過閾值的值是 {2}\% 可用空間及 {3} 可用 MB。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.Legacy.LogicalDisk.FreeSpace.Monitor" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.LogicalDisk" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.Legacy.LogicalDisk.FreeSpace.Monitortype" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.Legacy.LogicalDisk.FreeSpace.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='PctFree']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MbFree']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderWarningThresholds" MonitorTypeStateID="UnderWarningThresholds" HealthState="Success"/>
<OperationalState ID="OverWarningUnderErrorThresholds" MonitorTypeStateID="OverWarningUnderErrorThresholds" HealthState="Warning"/>
<OperationalState ID="OverErrorThresholds" MonitorTypeStateID="OverErrorThresholds" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>3600</IntervalSeconds>
<TargetComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</TargetComputerName>
<SystemDriveWarningMBytesThreshold>500</SystemDriveWarningMBytesThreshold>
<SystemDriveWarningPercentThreshold>10</SystemDriveWarningPercentThreshold>
<SystemDriveErrorMBytesThreshold>300</SystemDriveErrorMBytesThreshold>
<SystemDriveErrorPercentThreshold>5</SystemDriveErrorPercentThreshold>
<NonSystemDriveWarningMBytesThreshold>2000</NonSystemDriveWarningMBytesThreshold>
<NonSystemDriveWarningPercentThreshold>10</NonSystemDriveWarningPercentThreshold>
<NonSystemDriveErrorMBytesThreshold>1000</NonSystemDriveErrorMBytesThreshold>
<NonSystemDriveErrorPercentThreshold>5</NonSystemDriveErrorPercentThreshold>
<DiskLabel>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</DiskLabel>
<TimeoutSeconds>360</TimeoutSeconds>
<DebugFlag>false</DebugFlag>
</Configuration>
</UnitMonitor>