SCOM S2D File Server Volume Rule

Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume.Rule (Rule)

This rule monitors storage fault events for the file server Volume, and generates an alert when a new or updated fault event is raised on the Volume.

Knowledge Base article:

Summary

This rule monitors storage fault events for the file server Volume, and generates an alert when a new or updated fault event is raised on the Volume.

Element properties:

TargetMicrosoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume
CategoryCustom
EnabledTrue
Alert GenerateTrue
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
WmiEventProviderDS DataSource Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.FaultWmiEventDataSource Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume.Rule" Enabled="true" Target="Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Custom</Category>
<DataSources>
<DataSource ID="WmiEventProviderDS" TypeID="Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.FaultWmiEventDataSource">
<TargetInstanceUniqueID>$Target/Property[Type="MicrosoftStorageLibrary!Microsoft.Storage.Library.Windows.Volume"]/UniqueID$</TargetInstanceUniqueID>
<TargetInstanceObjectID>$Target/Property[Type="Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume"]/ObjectId$</TargetInstanceObjectID>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<PollInterval>15</PollInterval>
<WQLQuery>Select SourceUniqueId, Reason, FaultingObjectLocation, FaultingObjectDescription, RecommendedActions, FaultId, PerceivedSeverity, SourceObjectId From MSFT_StorageFaultEvent Where SourceClassName = 'MSFT_Volume' And (ChangeType = 0 Or ChangeType = 2)</WQLQuery>
<TargetId>$Target/Id$</TargetId>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>$Data/Property[@Name='OM Alert Severity']$</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.10.0.Storage.StorageSpacesDirect.Volume.Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='SourceUniqueId']$</AlertParameter1>
<AlertParameter2>$Data/Property[@Name='Reason']$</AlertParameter2>
<AlertParameter3>$Data/Property[@Name='FaultingObjectDescription']$</AlertParameter3>
<AlertParameter4>$Data/Property[@Name='RecommendedActions']$</AlertParameter4>
<AlertParameter5>$Data/Property[@Name='FaultingObjectLocation']$</AlertParameter5>
<AlertParameter6>$Data/Property[@Name='SourceObjectId']$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Property[@Name='FaultId']$</SuppressionValue>
</Suppression>
<Custom1>fault</Custom1>
<Custom2>$Data/Property[@Name='FaultId']$</Custom2>
</WriteAction>
</WriteActions>
</Rule>