Checks compatible with NetApps RESTful API

As of ONTAP 9.6 NetApp offers a new, RESTful API. Thanks to the concept of collectors and independent checks check_netapp_pro can offer a new getter to stay compatible with both present and future versions of ONTAP.

The RESTful collector is managed by the universal collector get_netapp. It will detect the offered APIs and collect the data accordingly. The supported objects on RESTful APIs it can collect data for will expand over the time. For the moment we offer:

  • certificate (Certificate)
  • disk (Disk, DiskCount, …)
  • volume (Usage -o volume, VolumeAge, VolumeState, …)

As already mentioned the universal get_netapp will choose the right API according to the filer - so no need for you to search for the special “RESTful getter” script or binary - there is none. (Background: If get_netapp detects a ZAPI-only Filer it will transparently call the required Perl-script to get the data. The same is true for objects, which do not have a RESTful getter yet if the filer still supports the ZAPI beside of the new RESTful API.)

Hints

Network considerations

You can connect to the RESTful API through the following interfaces:

  • Cluster management LIF
  • Node management LIF
  • SVM management LIF

The LIF you choose to use must be configured to support the HTTPS management protocol. Also, the firewall configuration in your network must allow the HTTPS traffic.

Tip: You should always use the cluster management LIF. This will load balance the API requests across all nodes, and avoid nodes that are offline or experiencing connectivity issues.

Limitations and Known Issues

The RESTful API is quite new and quickly evolving. We do our best to port as much as possible to be prepared for the future when the older ZAPI will be switched of by NetApp. Following all issues and limitations we are aware of:

  • Checks which require a history (--stm) do not work yet. This includes typically trending checks like UsageTrend.

  • Disk --what=non-zeroed-spare seems not deliver strange results for some systems. This is probably because of some API incompatibility we have to investigate further.

  • DiskPaths and DiskPathQuality do work only with the ZAPI-getter.

  • The Snapshots check, which requires both the vol_snapshot and volume store, needs the ZAPI storefile for the volume-object. We recommend to switch the getter to the ZAPI (get_netapp -H filer volume --api=zapi --disable_api_detection)

Fortunately the older ZAPI still works on all present Ontap versions - so the above limitations are of a more theoretically interest only. Forcing the getter to use the ZAPI is simple: Just set --api=zapi. For an additional performance-gain add the --disable_api_detection switch as well.

Compatibility with earlier versions

The syntax of get_netapp is similar to the former get_netapp_cm.pl with these exceptions:

  • --authfile|-f expects the new ini-format. The older text-format is not supported any more. The minimum authfile is now:

    [default]
    user = monitoring_user_name
    pass = monitoring_user_password
    
  • --port has been removed