Pure Storage FlashArray Host OPS Monitor

PureStorageFlashArray.HostOPSMonitor.Powershell (UnitMonitor)

The Host OPS (Output Per Second) Monitor calculates the number of bytes read per second, between the FlashArray and the Host, 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.PureHost
Parent MonitorPureStorageFlashArray.PureHost.AggregateMonitor
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypePureStorage.FlashArray.TimedScript.PowerShell.HostPerformanceMonitor.UnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Host OPS under threshold
Host Read Operations per second were ({0}) and that has exceeded the configured monitoring threshold.
RunAsDefault

Source Code:

<UnitMonitor ID="PureStorageFlashArray.HostOPSMonitor.Powershell" Accessibility="Public" Enabled="true" Target="PureStorage.FlashArray.PureHost" ParentMonitorID="PureStorageFlashArray.PureHost.AggregateMonitor" Remotable="true" Priority="Normal" TypeID="PureStorage.FlashArray.TimedScript.PowerShell.HostPerformanceMonitor.UnitMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="PureStorageFlashArray.HostOPSMonitor.Powershell.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='reads_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>reads_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>
<HostName>$Target/Property[Type="PureStorage.FlashArray.PureHost"]/Name$</HostName>
<Threshold>30000</Threshold>
<LogToArray>true</LogToArray>
<IgnoreCertificateErrors>true</IgnoreCertificateErrors>
</Configuration>
</UnitMonitor>