Rule to collect physical disk I/O Time Out related storage spaces events.
This alert indicates that IO has been timed out on the physical disk.
Windows has detected a drive that is not responding to IO requests within recommended timeouts. Windows will continue to use this drive.
If this is the first time this drive has experienced this problem, try power-cycling or reseating it. If the problem persists, replace the drive
To replace the drive, please:
• Disconnect the drive from the system
• Add a replacement drive to the storage pool
• Run the following Powershell commands:
$pool = $drive | Get-StoragePool
$pool | Remove-PhysicalDisk -PhysicalDisks $drive
Target | Microsoft.SystemCenter.VirtualMachineManager.Storage.FileServer | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SystemCenter.PhysicalDiskMonitoringDS | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.OperationsManager.Storage.PhysicalDisk.IOError.TimeOut.Rule" Enabled="true" Target="SL!Microsoft.SystemCenter.VirtualMachineManager.Storage.FileServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Custom</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SystemCenter.PhysicalDiskMonitoringDS">
<ComputerName>.</ComputerName>
<LogName>Microsoft-Windows-Storage-Storport/Operational</LogName>
<ScriptName>GetStorageEventDetails.ps1</ScriptName>
<Parameters>
<Parameter>
<Name>VMMServer</Name>
<Value>$Target/Property[Type="SL!Microsoft.SystemCenter.VirtualMachineManager.Storage.FileServer"]/VMMServer$</Value>
</Parameter>
<Parameter>
<Name>domain</Name>
<Value>$RunAs[Name="PROV2Library!Microsoft.SystemCenter.VirtualMachineManager.2012.VMMServerConnectionRunAsProfile"]/Domain$</Value>
</Parameter>
<Parameter>
<Name>Username</Name>
<Value>$RunAs[Name="PROV2Library!Microsoft.SystemCenter.VirtualMachineManager.2012.VMMServerConnectionRunAsProfile"]/UserName$</Value>
</Parameter>
<Parameter>
<Name>Pass</Name>
<Value>$RunAs[Name="PROV2Library!Microsoft.SystemCenter.VirtualMachineManager.2012.VMMServerConnectionRunAsProfile"]/Password$</Value>
</Parameter>
<Parameter>
<Name>EventId</Name>
<Value>$Data/EventDisplayNumber$</Value>
</Parameter>
<Parameter>
<Name>StorageDeviceId</Name>
<Value>$Data/Params/Param[5]$</Value>
</Parameter>
<Parameter>
<Name>StatusCode</Name>
<Value>$Data/Params/Param[6]$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>3000</TimeoutSeconds>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">500</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.OperationsManager.Storage.PhysicalDisk.IOError.TimeOut.Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='Friendly Name']$</AlertParameter1>
<AlertParameter2>$Data/Property[@Name='ObjectId Guid']$</AlertParameter2>
<AlertParameter3>$Data/Property[@Name='DeviceId']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Property[@Name='ObjectId Guid']$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>