On some occasions, one might not want to collect all counters from the filer. This does not happen very often, but there are at least two cases where it is required or in the very least useful to exclude a specific counter:

  1. If counters are not available in an older version of DataONTAP: our tests for PerfDisk after the inclusion of the read_ops und write_ops counters have shown, that they have to be excluded for the getter to function properly. (the getter would otherwise request a counter from the filer unknown to DataONPTAP.)
  2. If there are a large number of instances of a specific object: excluding several counters that are not needed can reduce the usage and the runtime of the getter scripts significantly. This is probably only the case for the disk object, since a filer can have a large number of disks. All other objects (volumes, aggregates,…) are usually present in smaller numbers on the filer, so that it doesn’t really matter how many counters are collected for each instance.

The syntax is similar to the switch ‑‑exclude|‑X for checks. It can be specified multiple times with a regex each. Examples can be found on the help page for PerfDisk. Let’s take a look at one example in more detail:

get_netapp_perfdata.pl -H filer_812 -o disk -X '.*ops$'

This way data can be collected from a 8.1.2 filer that does not know the counters read_ops and write_ops. If you are not familiar with the regex syntax, you can also use the following command:

get_netapp_perfdata.pl -H filer_812 -o disk -X read_ops -X write_ops

Should there ever be another counter such as extra_read_ops, it would also be affected by the configuration above. A cleaner syntax excluding only these two counters (read_ops and write_ops) would be:

get_netapp_perfdata.pl -H filer_812 -o disk -X ^read_ops$ -X ^write_ops$

which is the same as:

get_netapp_perfdata.pl -H filer_812 -o disk -X ^(read_ops|write_ops)$

Depending on the shell single quotations marks or a backslash might be needed.