=back
- Plugin "netapp"
- The netapp plugin can collect various performance and capacity
- informations from a netapp filer using the NetApp API.
+=head2 Plugin C<netapp>
+
+The netapp plugin can collect various performance and capacity informations
+from a NetApp filer using the NetApp API.
+
+To collect these data collectd will log in to the NetApp via HTTP(S) and HTTP
+basic authentication.
+
+B<Do not use a regular user for this!> Create a special collectd user with just
+the minimum of capabilities needed. The user only needs the "login-http-admin"
+capability as well as a few more depending on which data will be collected.
+Required capabilities are documented below.
+
+=head3 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>
+
+The netapp plugin accepts the following configuration options:
+
+=over 4
+
+=item B<Host> I<Name>
+
+A host block defines one NetApp filer. It will appear in collectd with the name
+you specify here which does not have to be its real name nor its hostname.
+
+=item B<Protocol> B<httpd>|B<http>
+
+The protocol collectd will use to query this host.
+
+Optional
+
+Type: string
+
+Default: https
+
+Valid options: http, https
+
+=item B<Address> I<Address>
+
+The hostname or IP address of the host.
+
+Optional
+
+Type: string
+
+Default: The "host" block's name.
+
+=item B<Port> I<Port>
+
+The TCP port to connect to on the host.
+
+Optional
+
+Type: integer
+
+Default: 80 for protocol "http", 443 for protocol "https"
+
+=item B<User> I<User>
+
+=item B<Password> I<Password>
+
+The username and password to use to login to the NetApp.
+
+Mandatory
+
+Type: string
+
+=item B<Interval> I<Interval>
+
+B<TODO>
+
+=back
+
+The following options decide what kind of data will be collected. You can
+either use them as a block and fine tune various parameters inside this block,
+use them as a single statement to just accept all default values, or omit it to
+not collect any data.
+
+The following options are valid inside all blocks:
+
+=over 4
+
+=item B<Multiplier> I<Multiplier>
+
+The host specific interval between data collections is multiplied by this value
+for collecting these data.
+
+Optional
+
+Type: integer
+
+Default: 1
+
+=back
+
+=head3 The System block
+
+This will collect various performance data about the whole system.
+
+B<Note:> To get this data the collectd user needs the
+"api-perf-object-get-instances" capability.
+
+=over 4
+
+=item B<Interval> I<Seconds>
+
+Collect disk statistics every I<Seconds> seconds.
+
+=item B<GetCPULoad> B<true>|B<false>
+
+If you set this option to true the current CPU usage will be read. This will be
+the average usage between all CPUs in your NetApp without any information about
+individual CPUs.
+
+B<Note:> These are the same values that the NetApp CLI command "sysstat"
+returns in the "CPU" field.
+
+Optional
+
+Type: boolean
+
+Default: true
+
+Result: Two value lists of type "cpu", and type instances "idle" and "system".
+
+=item B<GetInterfaces> B<true>|B<false>
+
+If you set this option to true the current traffic of the network interfaces
+will be read. This will be the total traffic over all interfaces of your NetApp
+without any information about individual interfaces.
+
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "Net kB/s" field.
+
+B<Or is it?>
+
+Optional
+
+Type: boolean
- To collect these data collectd will log in to the netapp via http(s)
- and basic http auth.
+Default: true
- !Do not use a regular user for this! Create a special collectd user
- with just the minimum of capabilities needed. The user only needs
- the "login-http-admin" capability as well as a few more depending on
- which data will be collected.
+Result: One value list of type "if_octects".
- Synopsis:
+=item B<GetDiskIO> B<true>|B<false>
- <Plugin "netapp">
- <Host "netapp1.example.com">
- Protocol https
- Address 10.0.0.1
- Port 443
- Login "username" "password"
- Interval 30
- <GetSystemPerfData>
- </GetSystemPerfData>
- <GetWaflPerfData>
- </GetWaflPerfData>
- <GetDiskPerfData>
- </GetDiskPerfData>
- <GetVolumePerfData>
- </GetVolumePerfData>
- <GetVolumeData>
- </GetVolumeData>
- </Host>
- </Plugin>
+If you set this option to true the current IO throughput will be read. This
+will be the total IO of your NetApp without any information about individual
+disks, volumes or aggregates.
- The netapp plugin accepts the following configuration options:
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "DiskE<nbsp>kB/s" field.
- Host Name
- A host block defines one netapp filer. It will appear in collectd
- with the name you specify here which does not have to be its real
- name nor its hostname.
+Optional
- Protocol
- The protocol collectd will use to query this host.
+Type: boolean
- Optional
- Type: string
- Default: https
- Valid options: http, https
+Default: true
- Address
- The hostname or IP address of the host.
+Result: One value list of type "disk_octets".
- Optional
- Type: string
- Default: The hostblock's name.
+=item B<GetDiskOps> B<true>|B<false>
- Port
- The TCP port to connect to on the host.
+If you set this option to true the current number of HTTP, NFS, CIFS, FCP,
+iSCSI, etc. operations will be read. This will be the total number of
+operations on your NetApp without any information about individual volumes or
+aggregates.
- Optional
- Type: integer
- Default: 80 for protocol http, 443 for protocol https
+B<Note:> These are the same values that the NetApp CLI command "sysstat"
+returns in the "NFS", "CIFS", "HTTP", "FCP" and "iSCSI" fields.
- Login
- The username and password to use to login to the netapp.
+Optional
- Mandatory
- Type: 2 strings
+Type: boolean
- Interval
- TODO
+Default: true
+Result: A variable number of value lists of type "disk_ops_complex". Each type
+of operation will result in one value list with the name of the operation as
+type instance.
- The following options decide what kind of data will be collected. You
- can either use them as a block and finetune various parameters inside
- this block, use them as a single statement to just accept all default
- values, or obmit it to not collect any data.
+=back
+
+=head3 The WAFL block
+
+This will collect various performance data about the WAFL file system. At the
+moment this just means cache performance.
+
+B<Note:> To get this data the collectd user needs the
+"api-perf-object-get-instances" capability.
+
+B<Note:> The interface to get these values is classified as "Diagnostics" by
+NetApp. This means that it is not guaranteed to be stable even between minor
+releases.
+
+=over 4
+
+=item B<Interval> I<Seconds>
+
+Collect disk statistics every I<Seconds> seconds.
+
+=item B<GetNameCache> B<true>|B<false>
- The following options are valid inside all blocks:
+Optional
- Multiplier
- The host specific interval between data collections is multiplied
- by this value for collecting these data.
+Type: boolean
- Optional
- Type: integer
- Default: 1
+Default: true
+Result: One value list of type "cache_ratio" and type instance
+"name_cache_hit".
- The GetSystemPerfData Block:
+=item B<GetDirCache> B<true>|B<false>
- This will collect various performance data about the whole system.
+Optional
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+Type: boolean
- GetCPULoad
- If you set this option to true the currect CPU usage will be
- read. This will be the average usage between all CPUs in your
- netapp without any information about individual CPUs.
+Default: true
- Note: These are the same values that the netapp CLI command
- "sysstat" returns in the "CPU" field.
+Result: One value list of type "cache_ratio" and type instance "find_dir_hit".
- Optional
- Type: boolean
- Default: true
+=item B<GetInodeCache> B<true>|B<false>
- Result: Two data sources of type "cpu", and type instances
- "idle" and "system".
+Optional
- GetInterfaces
- If you set this option to true the currect traffic of the
- network interfaces will be read. This will be the total traffic
- over all interfaces of your netapp without any information
- about individual interfaces.
+Type: boolean
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Net kB/s" field.
- Or is it?
+Default: true
- Optional
- Type: boolean
- Default: true
+Result: One value list of type "cache_ratio" and type instance
+"inode_cache_hit".
- Result: One data source of type "if_octects".
+=item B<GetBufferCache> B<true>|B<false>
- GetDiskIO
- If you set this option to true the currect IO throughput will be
- read. This will be the total IO of your netapp without any
- information about individual disks, volumes or aggregates.
+B<Note:> This is the same value that the NetApp CLI command "sysstat" returns
+in the "Cache hit" field.
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Disk kB/s" field.
+Optional
- Optional
- Type: boolean
- Default: true
+Type: boolean
- Result: One data source of type "disk_octets".
+Default: true
- GetDiskOps
- If you set this option to true the currect number of http, nfs,
- cifs, fcp, iscsi, ... operations will be read. This will be the
- total number of operations on your netapp without any information
- about individual volumes or aggregates.
+Result: One value list of type "cache_ratio" and type instance "buf_hash_hit".
+=back
- Note: These are the same values that the netapp CLI command
- "sysstat" returns in the "NFS", "CIFS", "HTTP", "FCP" and
- "iSCSI" fields.
+=head3 The Disks block
- Optional
- Type: boolean
- Default: true
+This will collect performance data about the individual disks in the NetApp.
- Result: A variable number of data sources of type
- "disk_ops_complex". Each type of operation will result in
- one data source with the name of the operation as type
- instance.
+B<Note:> To get this data the collectd user needs the
+"api-perf-object-get-instances" capability.
+=over 4
- The GetWaflPerfData block:
+=item B<Interval> I<Seconds>
- This will collect various performance data about the WAFL file
- system. At the moment this just means cache performance.
+Collect disk statistics every I<Seconds> seconds.
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+=item B<GetBusy> B<true>|B<false>
- Note: The interface to get these values is classified as
- "Diagnostics" by netapp. This means that it is not guaranteed
- to be stable even between minor releases.
+If you set this option to true the busy time of all disks will be calculated
+and the value of the busiest disk in the system will be written.
- GetNameCache
- Optional
- Type: boolean
- Default: true
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "Disk util" field. Probably.
- Result: One data source of type "cache_ratio" and type instance
- "name_cache_hit".
+Optional
- GetDirCache
- Optional
- Type: boolean
- Default: true
+Type: boolean
- Result: One data source of type "cache_ratio" and type instance
- "find_dir_hit".
+Default: true
- GetInodeCache
- Optional
- Type: boolean
- Default: true
+Result: One value list of type "percent" and type instance "disk_busy".
- Result: One data source of type "cache_ratio" and type instance
- "inode_cache_hit".
+=back
- GetBufCache
- Note: This is the same value that the netapp CLI command
- "sysstat" returns in the "Cache hit" field.
+=head3 The VolumePerf block
- Optional
- Type: boolean
- Default: true
+This will collect various performance data about the individual volumes.
- Result: One data source of type "cache_ratio" and type instance
- "buf_hash_hit".
+You can select which data to collect about which volume using the following
+options. They follow the standard ignorelist semantic.
+B<Note:> To get this data the collectd user needs the
+I<api-perf-object-get-instances> capability.
- The GetDiskPerfData block:
+=over 4
- This will collect performance data about the individual disks in the
- netapp.
+=item B<GetIO> I<Volume>
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+=item B<GetOps> I<Volume>
- GetBusy
- If you set this option to true the busy time of all disks will be
- calculated and the value of the busiest disk in the system will
- be written.
+=item B<GetLatency> I<Volume>
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Disk util" field. Probably.
+Select the given volume for IO, operations or latency statistics collection.
+The argument is the name of the volume without the C</vol/> prefix.
- Optional
- Type: boolean
- Default: true
+Since the standard ignorelist functionality is used here, you can use a string
+starting and ending with a slash to specify regular expression matching: To
+match the volumes "vol0", "vol2" and "vol7", you can use this regular
+expression:
- Result: One data source of type "percent" and type instance
- "disk_busy".
+ GetIO "/^vol[027]$/"
+If no regular expression is specified, an exact match is required. Both,
+regular and exact matching are case sensitive.
- The GetVolumePerfData block:
+If no volume was specified at all for either of the three options, that data
+will be collected for all available volumes.
- This will collect various performance data about the individual
- volumes.
+=item B<IgnoreSelectedIO> B<true>|B<false>
- All of these options take a list of volumes as parameters. In this
- case "volume" meas just the name of the volume, without the "/vol/"
- prefix or anything like that.
- The special values "-" and "+" are supported. "-" means "don't
- collect values for any volumes". "+" means "collect values for all
- volumes, even volumes that are created after collectd was started."
- Additionally you can prefix a volume name with a "-" sign to exclude
- this one volume. Eg '"+" "-vol0"' collectes values for all volumes
- except vol0.
- The order of the parameters is important. '"-vol0" "+"' doesn't make
- sense because the "+" overrides the earlier "-vol0".
+=item B<IgnoreSelectedOps> B<true>|B<false>
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+=item B<IgnoreSelectedLatency> B<true>|B<false>
- GetIO
- The currect IO throughput will be read for every volume specified
- here.
+When set to B<true>, the volumes selected for IO, operations or latency
+statistics collection will be ignored and the data will be collected for all
+other volumes.
- Optional
- Type: list of strings
- Default: "+"
+When set to B<false>, data will only be collected for the specified volumes and
+all other volumes will be ignored.
- Result: Data sources of type "disk_octets" and the name of the
- volume as plugin_instance.
+If no volumes have been specified with the above B<Get*> options, all volumes
+will be collected regardless of the B<IgnoreSelected*> option.
- GetOps
- The currect number of operation will be read for every volume
- specified here.
+Defaults to B<false>
- Optional
- Type: list of strings
- Default: "+"
+=back
- Result: Data sources of type "disk_ops" and the name of the
- volume as plugin_instance.
+=head3 The VolumeUsage block
- GetLatency
- The currect latency for volume access in microseconds will be
- read for every volume specified here.
+This will collect capacity data about the individual volumes.
- Optional
- Type: list of strings
- Default: "+"
+B<Note:> To get this data the collectd user needs the I<api-volume-list-info>
+capability.
- Result: Data sources of type "disk_latency" and the name of the
- volume as plugin_instance.
+=over 4
+
+=item B<GetCapacity> I<VolumeName>
+
+The current capacity of the volume will be collected. This will result in two
+to four value lists, depending on the configuration of the volume. All data
+sources are of type "df_complex" with the name of the volume as
+plugin_instance.
+There will be type_instances "used" and "free" for the number of used and
+available bytes on the volume. If the volume has some space reserved for
+snapshots, a type_instance "snap_reserved" will be available. If the volume
+has SIS enabled, a type_instance "sis_saved" will be available. This is the
+number of bytes saved by the SIS feature.
- The GetVolumeData block:
+B<Note:> The current NetApp API has a bug that results in this value being
+reported as a 32E<nbsp>bit number. This plugin tries to guess the correct
+number which works most of the time. If you see strange values here, bug
+NetApp support to fix this.
- This will collect capacity data about the individual volumes.
+Repeat this option to specify multiple volumes.
- All of these options take a list of volumes as parameters, just like
- GetVolumePerfData options.
+=item B<IgnoreSelectedCapacity> B<true>|B<false>
- Note: To get this data the collectd user needs the
- "api-volume-list-info" capability.
+Specify whether to collect only the volumes selected by the B<GetCapacity>
+option or to ignore those volumes. B<IgnoreSelectedCapacity> defaults to
+B<false>. However, if no B<GetCapacity> option is specified at all, all
+capacities will be selected anyway.
- GetDiskUtil
- The current capacity of the volume will be collected. This will
- result in two to four data sources, depending on the
- configuration of the volume. All data sources are of type
- "df_complex" with the name of the volume as plugin_instance.
+=item B<GetSnapshot> I<VolumeName>
- There will be type_instances "used" and "free" for the number
- of used and available bytes on the volume.
- If the volume has some space reserved for snapshots, a
- type_instance "snap_reserved" will be available.
- If the volume has SIS enabled, a type_instance "sis_saved" will
- be available. This is the number of bytes saved by the SIS
- feature.
+B<Defunct!> Select volumes from which to collect snapshot information.
- Note: The current NetApp API has a bug that results in this value
- being reported as a 32 bit number. This plugin tries to
- guess the correct number which works most of the time.
- If you see strange values here, bug NetApp support to fix
- this.
+Repeat this option to specify multiple volumes.
- Optional
- Type: list of strings
- Default: "+"
+=item B<IgnoreSelectedSnapshot>
- GetSnapData
- TODO
+Specify whether to collect only the volumes selected by the B<GetSnapshot>
+option or to ignore those volumes. B<IgnoreSelectedSnapshot> defaults to
+B<false>. However, if no B<GetSnapshot> option is specified at all, all
+capacities will be selected anyway.
+
+=back
=head2 Plugin C<netlink>