Pure Storage FlashArray Volume IPS Monitor

PureStorageFlashArray.VolumeIPSMonitor.Powershell (UnitMonitor)

The Volume IPS (Input Per Second) Monitor calculates the number of bytes written per second, between the FlashArray and the Volume, averaged to the last current polled value. The last polled value is when the metrics were last polled from the array (usually within 15 minutes).

Element properties:

TargetPureStorage.FlashArray.PureVolume
Parent MonitorPureStorageFlashArray.PureVolume.AggregateMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypePureStorage.FlashArray.TimedScript.PowerShell.VolumePerformanceMonitor.UnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Volume IPS exceeds threshold
Volume Write Operations per second were ({0}) and that has exceeded the configured monitoring threshold.
RunAsDefault

Source Code:

<UnitMonitor ID="PureStorageFlashArray.VolumeIPSMonitor.Powershell" Accessibility="Public" Enabled="false" Target="PureStorage.FlashArray.PureVolume" ParentMonitorID="PureStorageFlashArray.PureVolume.AggregateMonitor" Remotable="true" Priority="Normal" TypeID="PureStorage.FlashArray.TimedScript.PowerShell.VolumePerformanceMonitor.UnitMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="PureStorageFlashArray.VolumeIPSMonitor.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>900</IntervalSeconds>
<MetricName>writes_per_second</MetricName>
<Endpoint>$Target/Host/Property[Type="PureStorage.FlashArray.PureArray"]/Endpoint$</Endpoint>
<UserName>$RunAs[Name="PureStorage.FlashArray.FlashArrayAdminAccount"]/UserName$</UserName>
<Password>$RunAs[Name="PureStorage.FlashArray.FlashArrayAdminAccount"]/Password$</Password>
<VolumeName>$Target/Property[Type="PureStorage.FlashArray.PureVolume"]/Name$</VolumeName>
<Threshold>30000</Threshold>
<LogToArray>true</LogToArray>
<IgnoreCertificateErrors>true</IgnoreCertificateErrors>
</Configuration>
</UnitMonitor>