Read I/O per second measurement for NetApp E-Series volumes.
The volumes listed in this alert are candidates for performance investigation. Volume IOPs are I/O operations per second measured at the NetApp E-Series storage array. The measurement is the rate at which the storage array can process a request (read or write) from hosts or applications once it arrives at the storage system.
NetApp recommends tuning volume IOPs thresholds from high to low until a reasonable response time for the particular workload is determined. If storage arrays have different workloads, it is recommended to override this monitor on an array basis. Or if a similar workload is expected across all storage arrays monitored by a single agent, then the NetApp.ESeries.PerformanceOverrides.xml file can be used to override performance thresholds for all storage arrays.
Periodic operations like batch updating, backups and synchronizations can cause volume IOP rates to elevate. Depending on the operation and the time of day it occurs, the elevated IOPs are completely normal and expected. Protracted high periods of IOPs warrant an investigation of storage array components and configuration.
After investigation if the IOPs are reasonable then the threshold for this monitor will need to be adjusted with the NetApp.ESeries.PerformanceOverrides.xml override file. NetApp recommends tuning volume IOPs thresholds from low to high until a reasonable reading for the particular workload is determined so that false alerts are minimized.
If storage arrays have different workloads, it is recommended to override this monitor on an array basis.
If the threshold setting is appropriate for the workload then configuration tuning may be required to return the volume performance back to desired specifications.
The NetApp E-Series Integration pack includes a PowerShell script (Get-SDVolumePerformance.ps1) that can be used to facilitate performance investigations. The script will pull or poll performance data used by the performance monitors in the management pack. Please see the script help or product user guide for configuration details.
Target | NetAppESeries.StorageArray | ||
Parent Monitor | NetAppESeries.StorageArrayPerformance | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | NetAppESeries.PerformanceMonitorType | ||
Remotable | True | ||
Accessibility | Internal | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="NetAppESeries.Volume.Read.IOP" Accessibility="Internal" Enabled="true" Target="NetAppESeries.StorageArray" ParentMonitorID="NetAppESeries.StorageArrayPerformance" Remotable="true" Priority="Normal" TypeID="NetAppESeries.PerformanceMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="NetAppESeries.Volume.Read.IOP_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='VolumeName']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateIda16aed6674dc413a96a2488e89e99182" MonitorTypeStateID="PerformanceAlert" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId2377f5da03834cc1af1a594df8c046cc" MonitorTypeStateID="PerformanceAcceptable" HealthState="Success"/>
</OperationalStates>
<Configuration>
<PerformanceMetric>Volume Read IOPs</PerformanceMetric>
<PerformanceThresholdMilliseconds>1000</PerformanceThresholdMilliseconds>
<IntervalSeconds>303</IntervalSeconds>
<TimeoutSeconds>59</TimeoutSeconds>
<Trace>0</Trace>
</Configuration>
</UnitMonitor>