=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
+ Login "username" "password"
+ Interval 30
+ <GetSystemPerfData>
+ </GetSystemPerfData>
+ <GetWaflPerfData>
+ </GetWaflPerfData>
+ <GetDiskPerfData>
+ </GetDiskPerfData>
+ <GetVolumePerfData>
+ </GetVolumePerfData>
+ <GetVolumeData>
+ </GetVolumeData>
+ </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<Login> I<User> I<Password>
+
+The username and password to use to login to the NetApp.
+
+Mandatory
+
+Type: 2 strings
+
+=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
- To collect these data collectd will log in to the netapp via http(s)
- and basic http auth.
+Type: integer
- !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.
+Default: 1
- Synopsis:
+=back
+
+=head3 The GetSystemPerfData 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<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
- <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>
+Type: boolean
- The netapp plugin accepts the following configuration options:
+Default: true
- 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.
+Result: Two value lists of type "cpu", and type instances "idle" and "system".
- Protocol
- The protocol collectd will use to query this host.
+=item B<GetInterfaces> B<true>|B<false>
- Optional
- Type: string
- Default: https
- Valid options: http, https
+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.
- Address
- The hostname or IP address of the host.
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "Net kB/s" field.
- Optional
- Type: string
- Default: The hostblock's name.
+B<Or is it?>
- Port
- The TCP port to connect to on the host.
+Optional
- Optional
- Type: integer
- Default: 80 for protocol http, 443 for protocol https
+Type: boolean
- Login
- The username and password to use to login to the netapp.
+Default: true
- Mandatory
- Type: 2 strings
+Result: One value list of type "if_octects".
- Interval
- TODO
+=item B<GetDiskIO> B<true>|B<false>
+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 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.
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "DiskE<nbsp>kB/s" field.
- 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 "disk_octets".
- The GetSystemPerfData Block:
+=item B<GetDiskOps> B<true>|B<false>
- This will collect various performance data about the whole system.
+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.
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+B<Note:> These are the same values that the NetApp CLI command "sysstat"
+returns in the "NFS", "CIFS", "HTTP", "FCP" and "iSCSI" fields.
- 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.
+Optional
- Note: These are the same values that the netapp CLI command
- "sysstat" returns in the "CPU" field.
+Type: boolean
- Optional
- Type: boolean
- Default: true
+Default: true
- Result: Two data sources of type "cpu", and type instances
- "idle" and "system".
+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.
- 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.
+=back
+
+=head3 The GetWaflPerfData 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.
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Net kB/s" field.
- Or is it?
+=over 4
- Optional
- Type: boolean
- Default: true
+=item B<GetNameCache> B<true>|B<false>
- Result: One data source of type "if_octects".
+Optional
- 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.
+Type: boolean
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Disk kB/s" field.
+Default: true
- Optional
- Type: boolean
- Default: true
+Result: One value list of type "cache_ratio" and type instance
+"name_cache_hit".
- Result: One data source of type "disk_octets".
+=item B<GetDirCache> B<true>|B<false>
- 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.
+Optional
+Type: boolean
- Note: These are the same values that the netapp CLI command
- "sysstat" returns in the "NFS", "CIFS", "HTTP", "FCP" and
- "iSCSI" fields.
+Default: true
- Optional
- Type: boolean
- Default: true
+Result: One value list of type "cache_ratio" and type instance "find_dir_hit".
- 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.
+=item B<GetInodeCache> B<true>|B<false>
+Optional
- The GetWaflPerfData block:
+Type: boolean
- This will collect various performance data about the WAFL file
- system. At the moment this just means cache performance.
+Default: true
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+Result: One value list of type "cache_ratio" and type instance
+"inode_cache_hit".
- 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.
+=item B<GetBufCache> B<true>|B<false>
- GetNameCache
- Optional
- Type: boolean
- Default: true
+B<Note:> This is the same value that the NetApp CLI command "sysstat" returns
+in the "Cache hit" field.
- 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 "cache_ratio" and type instance "buf_hash_hit".
- 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 GetDiskPerfData block
- Optional
- Type: boolean
- Default: true
+This will collect performance data about the individual disks in the NetApp.
- Result: One data source of type "cache_ratio" and type instance
- "buf_hash_hit".
+B<Note:> To get this data the collectd user needs the
+"api-perf-object-get-instances" capability.
+=over 4
- The GetDiskPerfData block:
+=item B<GetBusy> B<true>|B<false>
- This will collect performance data about the individual disks in the
- netapp.
+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.
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+B<Note:> This is the same values that the NetApp CLI command "sysstat" returns
+in the "Disk util" field. Probably.
- 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.
+Optional
- Note: This is the same values that the netapp CLI command
- "sysstat" returns in the "Disk util" field. Probably.
+Type: boolean
- Optional
- Type: boolean
- Default: true
+Default: true
- Result: One data source of type "percent" and type instance
- "disk_busy".
+Result: One value list of type "percent" and type instance "disk_busy".
+=back
- The GetVolumePerfData block:
+=head3 The GetVolumePerfData block
- This will collect various performance data about the individual
- volumes.
+This will collect various performance data about the individual volumes.
- 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".
+All of these options take a list of volumes as parameters. In this case
+"volume" means just the name of the volume, without the "/vol/" prefix or
+anything like that.
- Note: To get this data the collectd user needs the
- "api-perf-object-get-instances" capability.
+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".
- GetIO
- The currect IO throughput will be read for every volume specified
- here.
+B<Note:> To get this data the collectd user needs the
+"api-perf-object-get-instances" capability.
- Optional
- Type: list of strings
- Default: "+"
+=over 4
- Result: Data sources of type "disk_octets" and the name of the
- volume as plugin_instance.
+=item B<GetIO> I<Volume> [I<Volume> ...]
+The current IO throughput will be read for every volume specified here.
- GetOps
- The currect number of operation will be read for every volume
- specified here.
+Optional
- Optional
- Type: list of strings
- Default: "+"
+Type: list of strings
- Result: Data sources of type "disk_ops" and the name of the
- volume as plugin_instance.
+Default: "+"
- GetLatency
- The currect latency for volume access in microseconds will be
- read for every volume specified here.
+Result: Data sources of type "disk_octets" and the name of the volume as
+plugin_instance.
- Optional
- Type: list of strings
- Default: "+"
+=item B<GetOps> I<Volume> [I<Volume> ...]
- Result: Data sources of type "disk_latency" and the name of the
- volume as plugin_instance.
+The current number of operation will be read for every volume specified here.
+Optional
- The GetVolumeData block:
+Type: list of strings
- This will collect capacity data about the individual volumes.
+Default: "+"
- All of these options take a list of volumes as parameters, just like
- GetVolumePerfData options.
+Result: Data sources of type "disk_ops" and the name of the volume as
+plugin_instance.
- Note: To get this data the collectd user needs the
- "api-volume-list-info" capability.
+=item B<GetLatency> I<Volume> [I<Volume> ...]
- 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.
+The current latency for volume access in microseconds will be read for every
+volume specified here.
- 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.
+Optional
- 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.
+Type: list of strings
- Optional
- Type: list of strings
- Default: "+"
+Default: "+"
- GetSnapData
- TODO
+Result: Data sources of type "disk_latency" and the name of the volume as
+plugin_instance.
+
+=back
+
+=head3 The GetVolumeData block
+
+This will collect capacity data about the individual volumes.
+
+All of these options take a list of volumes as parameters, just like the
+GetVolumePerfData options.
+
+B<Note:> To get this data the collectd user needs the "api-volume-list-info"
+capability.
+
+=over 4
+
+=item B<GetDiskUtil>
+
+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.
+
+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.
+
+Optional
+
+Type: list of strings
+
+Default: "+"
+
+=item B<GetSnapData>
+
+B<TODO>
+
+=back
=head2 Plugin C<netlink>