ZAPI based NetApp Checks

Check NetApp-ZAPI is a collection of Perl scripts which allow the most comprehensive monitoring of NetApp FAS devices. These checks connect to the filer over the ZAPI interface.

Would you like to get a free trial license for the checks? Just drop us an email.

Check
AggregateState checks the aggregates-state. Alarms if they are not online (configurable).
AutosizeMode checks the autosize-mode of autosized volumes if they are all set to given value (grow, grow_shrink, ...)
BadlyPerformingDisks checks all disks in a NetApp system or in a specific raid-group. If a certain number of them performes badly (=has a high utilization) an alarm is send.
BufferCache checks several metrics of the system buffer cache (=system memory) like Buffers being read, Buffers being written, Empty (unused) buffers, Buffers with modified data, Buffers associated with CP IO, ...
ClusterPeerHealth checks the health of cluster peer relationships by evaluating several ping- and health-status.
Disk checks for failed, offline or unassigned disks on the filer.
DiskCount counts the number of disks matching defineable criteria (disk-type, container (spare, ...), storage-pool). Mostly used to monitor the number of spare-disks of a certain type.
DiskPathQuality hecks disk path qualities, reports i/o-error percentages and raises a CRITICAL error whenever an error percentage is above zero.
DiskPaths checks if each disk has a given number and pattern of paths (A/B, B/A, ABAB, ABBA, ...).
FCPAdapter checks the operational status of all fcp adapters.
FlashCache checks several metrics of the external FlashCache (PAM II) like External cache hit rate, Average latency of read I/Os, Number of wafl buffers served off the external cache, ...
Head monitors the heads hardware objects (fans, NVRAM, power-supplies, health-state, temperature-sensors)
IfGrp checks if an interface-group has enough links in up-state to still be redundant.
Job checks for failed jobs.
LunAlignment searches for misaligned luns. Alarms if a certain number of misaligned luns is reached.
LunLatency Checks the 'latency' and 'operations per second' (ops) per LUN. Shows details for total, read, write and other. NetApp recommends monitoring latency as the primary performance indicator.
LunSize checks the unused but allocated blocks inside of a LUN. Notfifys the admin if they exceed a certain number (he may than run an unmap procedure on vmware).
LunState checks the LUN-states. Alarms if they are offline or not mapped to an initiator.
MetroClusterVserver sends an alarm if the configuration state of a MetroCluster vserver changes to unhealthy.
NVRAM checks data-rates and latency of the NVRAM.
NetInterface checks if a network interfaces current-port is not equal to its home-port (output of the CLI command `network interface show -is-home false`). Can also check it's operational mode (up/down).
NetPort checks if the network-interfaces are enabled or not
OvercommitAggr returns a list of aggregates together with their overcommitment in percent. Overcommitment is the relation between the aggregates size and the total of all its (thin provisioned) volumes sizes.
PerfAggregate checks the 'latency', 'transfer-rate' and other performance counters per aggregate. Shows details for total, read, write and other. Also averages and totals over all aggregates of the filer can be measured and monitored, which allows the monitoring of the aggregate-latency and aggretate-transfer-rate on the filer level.
PerfCpu checks one or all processors in a NetApp system for their utilization.
PerfDisk checks all disks in a NetApp system for their utilization (Percentage of time there was at least one outstanding request to the disk). Optional the check can be limited to the disks of a single aggregate.
PerfHostadapter checks and counts rates per host adapter (Fibre Channel, Serial Attached SCSI, and parallel SCSI).
PerfIf checks and counts transfer-rates and errors per network-interface (ifnet). Especially useful for monitoring 10GbE-ports.
PerfLif checks and counts transfer-rates and errors per network-interface (lif) for DataONTAP 8.2.x. or higher.
PerfNic checks various performance counters of a NetApps *physical* network interface (NIC). Among them are crc/transmit-error-counters which can be used to detect errors on the physical network-layer.
PerfQtree checks some ops-counters per q-tree (nfs-ops, cifs-ops, ...).
PerfSys checks various performance counters of the NetApp-system (mostly operations/second and transfer-rates). Counters supported: net_data_sent, dafs_ops, total_ops, disk_data_written, net_data_recv, cifs_ops, streaming_pkts, http_ops, nfs_ops, fcp_ops, disk_data_read, iscsi_ops
PerfSysNode checks various performance counters of the NetApp-system (mostly operations/second and transfer-rates). Counters supported: net_data_sent, dafs_ops, total_ops, disk_data_written, net_data_recv, cifs_ops, streaming_pkts, http_ops, nfs_ops, fcp_ops, disk_data_read, iscsi_ops. The check evaluates these counters per Node and works only for DataONTAP 8.3 or later.
PerfTcpIp checks CRC errors and packets send/received for both the IP and TCP layer.
PerfVolume checks the 'latency' and 'operations per second' (ops) per volume. Shows details for total, read, write and other. NetApp recommends monitoring latency as the primary performance indicator.
Raidstatus alarms if one of the RAIDs is degraded.
ReportIOPS reports how many iops are consumed by a given tenant.
ReportSpace reports how much space in bytes are consumed by a given tenant.
ServiceProcessor checks the status of the nodes service-processor and if they are correctly configured (autoupdate, IP-address).
ShelfBay checks, the shelf- and disk-port status. Can alarm BYP-status disks.
ShelfEnvironment checks, the shelf-status, power-supplys, temperature, fans, voltage-sensor and current-sensor on the shelves.
Sis checks dedup-values (stale-fingerprint-percentage, run-time of last successfull operation).
SisStatus find volumes whose compression or deduplication is not enabled.
SnapMirrorMetrics checks and logs SnapMirrors (including type Vault): lag-time, last-transfer-duration, last-transfer-size
SnapMirrorState checks and logs for SnapMirror (including type Vault): health, mirror-state
SnapshotLessVolume searches for volumes which do not have snapshots.
Snapshots checks, if the snap-reserve is still sufficient. Thresholds are set in percent; performance-data can be either in percent or absolute (Byte). Additional criteria are the age or name of the snapshot. This can be used for monitoring snapshot-backups and whether they are up to date or not. Also can be used to find snapshots related to a specific application like SNMV and check all volumes for left-over snapshots.
StorageUtilization Storage Utilization answers the question, “Am I effectively using the storage capacity available to my applications.
SyncMirror checks the mirror-status on Metro Cluster aggregates.
UnprotectedVolume checks for volumes not protected by SnapMirror.
Uptime checks the seconds since last reboot.
Usage checks the used space in volumes and aggregates. Thresholds can be set in GB or percent.
UsageTrend checks the time how long ist would last until an aggregate or volume is full, if the trend of the last 48h (configurable) would continue. Checks both bytes and inodes.
VolumeAge searches for and flags volumes which have been created a (configurable) long time ago. An old age may be an indication for a forgotten and unused volume-clone. The logic can be also inverted to search for volumes with an exceptional short age (which have been created within the last day or so).
VolumeAutosize checks a volumes total-size and alerts when the volume is close to being full relative to the autosize maximum.
VolumeState checks the volume-states. Alarms if they are not online (configurable).
Vserver monitors the admin-state or the operational-status of a Vserver (running, stopped, inconsistent or defunct)
Wafl reads WAFL performance-counters like cp_count twice and calculates the rate of CPs per second. Different types of consistency-points (wafl-timer, back-to-back, ...) can be checked. The information gathered from this plugin corresponds to the CPty-column of 'sysstat -x 1'.
check_netapp7_cluster.pl checks the status of the high availability service (connected, taken over, takeover failed, ...).
check_netapp7_fcpstats.pl monitors the FCP adapters for crc-errors and other values.
check_netapp7_head.pl monitors the 7m-heads hardware objects (fans, NVRAM, power-supplies and the temperature-sensors)
check_netapp7_snapvault.pl monitors the status and lag-time of Snapvault relations onyl on 7m filers. (Cdot filers are checked with the SnapMirror checks).
check_netapp7_vfiler.pl monitors the status of a vFiler (if the vfiler is running and if the network resources are configured)
check_netapp_asup.pl monitors the ASUP-log and alarms if failed transmissions or collections were found.
check_netapp_health.pl monitors the system health. Sends an alarm if the system health status is anything other than 'ok'.
check_netapp_license.pl checks the filer for expiring (demo-)licenses.
check_netapp_mc_config.pl checks a metro-clusters mode and configuration state.
check_netapp_nfs-persist.pl checks for non-persistant NFS shares.
check_netapp_process.pl checks for runaway processes on a filer (as shown with the ps command).
check_netapp_quotas.pl monitors quotas on a NetApp-filer (cluster mode only).
check_netapp_scrub.pl sends an alarm if the last scrubs timestamp of an aggregate is over a certain age.
check_netapp_takeover.pl sends an alarm if the storage failover facility is disabled or otherwise not active.
check_netapp_time.pl checks the filers NTP configuration (at least one ntp server must be configured) and measures the drift between the filers system-time and the monitoring server. Can alarm if that drift is getting too high.
check_netapp_unused_lun.pl checks for luns which are online but do not have an initiator connected.