Pure Storage FlashArray Volume IPS Monitor

PureStorageFlashArray.VolumeIPSMonitor.Powershell (UnitMonitor)

Volume IPS Monitor

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 ({0}) exceeds 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>100</Threshold>
<LogToArray>true</LogToArray>
</Configuration>
</UnitMonitor>