Obviously, one of the first plugins that we implemented was designed to monitor volumes and aggregates and their respective usage (“how many bytes are still available”). This plugin is called Usage and from the get-go it could monitor disk space usage in bytes as well as the number available (or used) inodes.
In order to monitor inodes, two metrics are available:
The first metric, inodes_relative, measures the percentage of used inodes relative to the maximum number of available inodes. This means that at 100%, the volume would be full. Here’s an example:
$ ./ check_netapp_pro.pl Usage -H filer -o volume ‑m inodes_relative -w 80 -c 95 NETAPP_PRO USAGE OK - 5 volumes checked vol0: 19.6% vol1: 17.8% vol12: 17.8% vol2: 17.8% vol11: 17.0% | vol0=20%;80;95;0;100 vol1=18%;80;95;0;100 vol11=17%;80;95;0;100 vol12=18%;80;95;0;100 vol2=18%;80;95;0;100
The metric inodes_absolute measures the absolute number of inodes and sends an alarm if a configurable number of used inodes has been exceeded.
$ ./ check_netapp_pro.pl Usage -H filer -o volume -m inodes_absolute -w 10000 -c 15000 NETAPP_PRO USAGE CRITICAL - 5 volumes checked, 1 critical and 0 warning vol0: 18480.0 (CRITICAL) vol1: 101.0 vol12: 101.0 vol2: 101.0 vol11: 96.0 | vol0=18480;10000;15000;0;94151 vol1=101;10000;15000;0;566 vol11=96;10000;15000;0;566 vol12=101;10000;15000;0;566 vol2=101;10000;15000;0;566
As you can see in this example, an absolute threshold does not make much sense, if multiple volumes with different sizes are being monitored. That’s why it’s also possible to set a relative threshold by setting a formula as threshold, despite it being an absolute metric. A formula is always preceded by an equals sign (=). Please note that the equals sign is part of the value and there should be a space between argument and equals sign.
$ ./check_netapp_pro.pl Usage -H filer -o volume -m inodes_absolute -w =MAX/100*80 -c =MAX/100*95 NETAPP_PRO USAGE OK - 5 volumes checked vol0: 18480.0 vol1: 101.0 vol12: 101.0 vol2: 101.0 vol11: 96.0 | vol0=18480;75320.8;89443.45;0;94151 vol1=101;452.8;537.7;0;566 vol11=96;452.8;537.7;0;566 vol12=101;452.8;537.7;0;566 vol2=101;452.8;537.7;0;566
This way, we’re getting an absolute value in the performance data as well as in the output and yet we can set a relative threshold.
Using such formulas as thresholds, free-inodes (instead of used-inodes) can also be checked – in case you would like to set free instead of used inodes as a threshold.
$ ./check_netapp_pro.pl Usage -H filer -o volume -m inodes_absolute -w =MAX-20000 -c =MAX-15000 -I vol0 NETAPP_PRO USAGE OK - 1 volume checked 4 volumes skipped because of --include/--exclude settings. vol0: 18480.0 | vol0=18480;74151;79151;0;94151
Here, we are checking if there are at least 20,000 free inodes on vol0 (vol0 only) (CRITICAL for less than 15,000). As we can see in the perf data, there are a lot more than 20,000 left: for 18,480 used and 94,151 total there are enough free inodes, so that the threshold for a warning was not reached.
In this case, it was necessary to set the filter to vol0, since the other volumes are just to small and have less than 20,000 inodes in total so that a warning would have been returned.