History Critical Alerts (Rule)

PureStorage.FlashArray.PureArray.GetHistoryAlertRuleCritical (Rule)

History of the Pure Storage Array critical alerts

Knowledge Base article:

Alert 4 - Controller Failure

Alert Properties

Property

Description

Knowledge Base URL

https://support.purestorage.com/?cid=Alert_0004

Severity

Critical

CA Routing Rule

  • NullRoutingRule - If has the tag "puresetup"

  • NullRoutingRule - If has the tag "maintenance"

  • NullRoutingRule - If has the tag "hardware_upgrade"

  • SalesforceRoutingRule - Default Routing Rule

Triggers

  • Two controllers with primary status

  • Two controllers with secondary status

  • A secondary controller with a status other than 'ready'

View additional information

Element properties:

TargetPureStorage.FlashArray.PureArray
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
{0} Pure Array Alert {4} at {1} from REST API

Alert {4}:
ID: {0}
TimeOpened: {1}
Severity: {2}
Category: {3}
Code: {4}
Component: {5}
Name: {6}
Event: {7}
Expected: {8}
Actual: {9}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource PureStorage.FlashArray.AlertsRuleModules.Powershell.DS Default
CD ConditionDetection System.ExpressionFilter Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="PureStorage.FlashArray.PureArray.GetHistoryAlertRuleCritical" Target="PureStorage.FlashArray.PureArray" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="PureStorage.FlashArray.AlertsRuleModules.Powershell.DS">
<TimeoutSeconds>120</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime>12:00</SyncTime>
<LogToArray>true</LogToArray>
</DataSource>
</DataSources>
<ConditionDetection ID="CD" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Severity']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">critical</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="PureStorage.FlashArray.PureArray.GetHistoryAlertRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='ID']$</AlertParameter1>
<AlertParameter2>$Data/Property[@Name='TimeOpened']$</AlertParameter2>
<AlertParameter3>$Data/Property[@Name='Severity']$</AlertParameter3>
<AlertParameter4>$Data/Property[@Name='Category']$</AlertParameter4>
<AlertParameter5>$Data/Property[@Name='Code']$</AlertParameter5>
<AlertParameter6>$Data/Property[@Name='Component']$</AlertParameter6>
<AlertParameter7>$Data/Property[@Name='Name']$</AlertParameter7>
<AlertParameter8>$Data/Property[@Name='Event']$</AlertParameter8>
<AlertParameter9>$Data/Property[@Name='Expected']$</AlertParameter9>
<AlertParameter10>$Data/Property[@Name='Actual']$</AlertParameter10>
</AlertParameters>
</WriteAction>
</WriteActions>
</Rule>