Pure Storage FlashArray IPS Monitor

PureStorageFlashArray.ArrayIPSMonitor.Powershell (UnitMonitor)

The FlashArray IPS (Input Per Second) Monitor calculates the number of bytes written per second, between the controllers and the physical disks, averaged to the last current polled value. This is influenced by the connected hosts that are writing data to the FlashArray and this value is impacted by metadata operations and data reduction features. The last polled value is when the metrics were last polled from the array (usually within 15 minutes).

Element properties:

TargetPureStorage.FlashArray.PureArray
Parent MonitorPureStorageFlashArray.PureArray.AggregateMonitor
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypePureStorage.FlashArray.TimedScript.PowerShell.ArrayPerformanceMonitor.UnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
FlashArray IPS exceeded threshold
FlashArray Write Operations per Second were ({0}) and that exceeded the configured monitoring threshold.
RunAsDefault

Source Code:

<UnitMonitor ID="PureStorageFlashArray.ArrayIPSMonitor.Powershell" Accessibility="Public" Enabled="true" Target="PureStorage.FlashArray.PureArray" ParentMonitorID="PureStorageFlashArray.PureArray.AggregateMonitor" Remotable="true" Priority="Normal" TypeID="PureStorage.FlashArray.TimedScript.PowerShell.ArrayPerformanceMonitor.UnitMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="PureStorageFlashArray.ArrayIPSMonitor.Powershell.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='writes_per_second']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<TimeoutSeconds>120</TimeoutSeconds>
<IntervalSeconds>1800</IntervalSeconds>
<MetricName>writes_per_second</MetricName>
<Threshold>30000</Threshold>
<LogToArray>true</LogToArray>
<IgnoreCertificateErrors>true</IgnoreCertificateErrors>
</Configuration>
</UnitMonitor>