EMC SI Storage Pool Status of Shared Folder Alert Rule

EMC.SI.StoragePool.SharedFolder.Alert.Rule (Rule)

Alert when unhealthy shared folders in a pool

Knowledge Base article:

Summary

This rule checks the status of all the shared folders within the storage pool and generates an alert if there is an unhealthy state for any of the folders.

Shared folders are folders created on a file system configured on an EMC VNX File or VNXe storage system and exported to clients via one or more network protocols.

Configuration

The alert will contain a list of the first 1024 folders in an unhealthy state along with the health state, health state details and operational status. You can override this Maximum Entities value up to a maximum of 8192 folders. Smaller values will result in more efficient processing and a smaller alert description, which may be of concern if sending alerts via email or messaging systems or a ticketing system.

Causes

An unhealthy state occurs if an unhealthy state occurs for one or more shared folders in the storage pool. An unhealthy state occurs if the underlying file system becomes unavailable to the storage system or the storage system software has a logical failure.

Resolutions

Check and resolve any issues with the underlying file system or a storage system software failure.

Additional

For more information about this storage system component, refer to your storage system documentation.

External

For more information or technical support, refer to EMC Online Support at support.emc.com.

Element properties:

TargetEMC.SI.StoragePool
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
EMC SI Storage Pool Status of Shared Folders

This is a suppressed alert and information displayed here might be outdated. For the most current list of elements in warning or error state go to Alert Context tab in Alert Properties dialog box.
There are {0} {4} in a Warning state and {1} in an Error state. {2}
There are {5} remaining unhealthy {4}. For details: {3}.

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource EMC.SI.Get.SubEntity.Status.DataSource Default
Filter ConditionDetection System.ExpressionFilter Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="EMC.SI.StoragePool.SharedFolder.Alert.Rule" Enabled="true" Target="ESILib!EMC.SI.StoragePool" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="EMC.SI.Get.SubEntity.Status.DataSource">
<IntervalSeconds>337</IntervalSeconds>
<SyncTime/>
<ESIServiceHost>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/ESIServiceHost$</ESIServiceHost>
<Port>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/Port$</Port>
<ProxyServer>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/ProxyServer$</ProxyServer>
<BypassList>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/BypassList$</BypassList>
<IgonreCertificateErrors>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/IgonreCertificateErrors$</IgonreCertificateErrors>
<HTTPStoHTTPFallBack>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/HTTPStoHTTPFallBack$</HTTPStoHTTPFallBack>
<Orphaned>false</Orphaned>
<UserName>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/UserName$</UserName>
<Password>$Target/Host/Host/Property[Type="ESILib!EMC.SI.ESIService"]/Password$</Password>
<HostComponentId>$Target/Property[Type="ESILib!EMC.SI.StoragePool"]/StoragePoolId$</HostComponentId>
<EntityClass>CifsSharedFolder</EntityClass>
<MaxEntities>1024</MaxEntities>
<TimeoutSeconds>600</TimeoutSeconds>
<DebugLevel>$Target/Property[Type="ESILib!EMC.SI.StorageDevice"]/DebugLevel$</DebugLevel>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='WarningCount']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='ErrorCount']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="EMC.SI.StoragePool.SharedFolder.Alert.Rule_AlertMessageResourceID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='WarningCount']$</AlertParameter1>
<AlertParameter2>$Data/Property[@Name='ErrorCount']$</AlertParameter2>
<AlertParameter3>$Data/Property[@Name='UnhealthyEntities']$</AlertParameter3>
<AlertParameter4>$Data/Property[@Name='DetailsUrl']$</AlertParameter4>
<AlertParameter5>Shared Folders</AlertParameter5>
<AlertParameter6>$Data/Property[@Name='RemainingUnhealthyCount']$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Target/Property[Type="ESILib!EMC.SI.StoragePool"]/StoragePoolId$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>