DELLEMC Enterprise SI Storage Pool Status of Concrete LUN Alert Rule

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

Alert when unhealthy storage volumes in a pool

Knowledge Base article:

Summary

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

Configuration

The alert will contain a list of the first 1024 LUNs 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 LUNs. 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 a storage pool provisioned from the LUN. It can also occur if certain operations, such as migrations, reduce the performance of the LUN.

On VNX block systems a LUN becomes degraded if trespassed by its storage processor. Or an unhealthy state can occur if software operations or hardware failures disable the read or write cache and cause a LUN to become degraded.

Resolutions

Check and resolve any issues with the LUN's storage pool. Wait for performance-reducing operations to complete and then check the state. If applicable, try to trespass the LUN back to its storage processor.

Additional

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

External

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

Element properties:

TargetEMC.SI.StoragePool
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
DELLEMC Enterprise SI Storage Pool Status of Concrete LUNs

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.ConcreteLun.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>ConcreteLun</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.ConcreteLun.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>Concrete Luns</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>