Skip to content
Florian Forster edited this page Nov 26, 2023 · 1 revision
Name: NetApp plugin
Type: read
Callbacks: config, init, read, shutdown
Status: supported
FirstVersion: 4.9
Copyright: 2009 Sven Trenkel
License: MIT License
Manpage: collectd.conf(5)
See also: List of Plugins

The NetApp plugin is a read plugin that connects to a NetApp storage system and queries various performance values from the system. Queried values include used / free disk space, read and write operations, network IO, and CPU utilization.

The plugin uses libnetapp, a library provided by NetApp, Inc., to connect to one or more filers and receive information. This way information is available that isn't provided via SNMP, for example snapshot statistics. Due to a wide variety of available statistics, it is possible to control very fine-grained which information to collect using the configuration. Each group of statistics can be collected in a separate interval, so that free / used disk space can be collected less often than, say, CPU utilization.

The plugin was written in 2009 by Sven Trenkel for the noris network AG and licensed under the MIT license.

This plugin is a generic plugin, i.e. it cannot work without configuration, because there is no reasonable default behavior. Please read the Plugin netapp section of the collectd.conf(5) manual page for an in-depth description of the plugin's configuration.

Synopsis

 <Plugin "netapp">
   <Host "netapp1.example.com">
    Protocol      "https"
    Address       "10.0.0.1"
    Port          443
    User          "username"
    Password      "aef4Aebe"
    Interval      30

    <WAFL>
      Interval 30
      GetNameCache   true
      GetDirCache    true
      GetBufferCache true
      GetInodeCache  true
    </WAFL>

    <Disks>
      Interval 30
      GetBusy true
    </Disks>

    <VolumePerf>
      GetIO      "volume0"
      IgnoreSelectedIO      false
      GetOps     "volume0"
      IgnoreSelectedOps     false
      GetLatency "volume0"
      IgnoreSelectedLatency false
    </VolumePerf>

    <VolumeUsage>
      GetCapacity "vol0"
      GetCapacity "vol1"
      IgnoreSelectedCapacity false
      GetSnapshot "vol1"
      GetSnapshot "vol3"
      IgnoreSelectedSnapshot false
    </VolumeUsage>

    <System>
      Interval 30
      GetCPULoad     true
      GetInterfaces  true
      GetDiskOps     true
      GetDiskIO      true
    </System>
   </Host>
 </Plugin>

Example graphs

Plugin-netapp-df-complex.png Used and free space in a volume. You can also see the amount of additional space available thanks to Single Instance Storage (SIS) by finding duplicate blocks. SIS began its very first run on this volume around 21:00 but all freed space was still in use by older snapshots. At around 0:00 the space reserved for snapshots was increased, at 11:30 these snapshots were deleted, causing “normal” space to be freed while some space remains reserved for snapshots.

Plugin-netapp-disk-latency.png Average time per operation on a specific volume.

Plugin-netapp-disk-busy.png Usage (in percent) of the busiest disk in the system. This disk is usually the bottleneck and an indicator of the overall performance.

Plugin-netapp-disk-ops-complex.png System-wide operations by access type.

Plugin-netapp-cache-ratio.png Hit ratio of the name cache.

Dependencies

  • libnetapp, a library that is part of the Manage ONTAP SDK published by NetApp.

Netapp Configuration Required

This is an example configuration that has to be done on the filer before collectd can start collecting data via the API. A user with API access needs to be created, as stated above, but SSL also needs to be setup and enabled.

 zeus*> options httpd.admin
 httpd.admin.access           legacy
 httpd.admin.enable           on
 httpd.admin.hostsequiv.enable on
 httpd.admin.max_connections  512
 httpd.admin.ssl.enable       off
 httpd.admin.top-page.authentication on
 zeus*> options httpd.admin.ssl.enable on
 SSL is not configured. Please use the command
 'secureadmin setup ssl' to configure SSL.
 zeus*> secureadmin setup ssl
 Country Name (2 letter code) [US]:
 State or Province Name (full name) [California]:
 Locality Name (city, town, etc.) [Santa Clara]: Union City
 Organization Name (company) [Your Company]: Filer Jedi
 Organization Unit Name (division):  TechOps
 Common Name (fully qualified domain name) [zeus.filerjedi.com]:
 Administrator email:  somedude@filerjedi.com
 Days until expires [5475] :
 Key length (bits) [512] :
 Thu May 20 08:55:23 PDT [zeus: secureadmin.ssl.setup.success:info]: Starting SSL with new certificate.
 zeus*> options httpd.admin.ssl.enable on
 zeus*>

See also

Clone this wiki locally