Plugin:NetApp

From collectd Wiki
Jump to: navigation, search
NetApp plugin
Type: read
Callbacks: config, init, read, shutdown
Status: supported
First version: 4.9
Copyright: 2009 Sven Trenkel
License: MIT license
Manpage: collectd.conf(5)
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.

Contents

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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools