Our Nagios plugins for NetApp are able to read usage of each CPU separately or of the entire system (calculated average for all processors) and transfers the information to the monitoring system (Nagios, Icinga, op5, …).

The check PerfCpu can be used to monitor separate CPUs:

$ ./check_netapp_pro.pl PerfCpu -H sim812cm-n1 -z processor_busy
NETAPP_PRO PERFCPU OK - 4 processors checked.
processor0 (cluster1-01:kernel:processor0): 3.2% processor_busy
processor1 (cluster1-01:kernel:processor1): 2.9% processor_busy
processor0 (cluster1-02:kernel:processor0): 1.7% processor_busy
processor1 (cluster1-02:kernel:processor1): 1.2% processor_busy
 | processor0=3%;80;95;0;100 processor1=3%;80;95;0;100 processor0=2%;80;95;0;100 processor1=1%;80;95;0;100

The check PerSys with the counter  avg_processor_busy can be used to monitor the average CPU-usage and record the values for future trend analysis:

$ ./check_netapp_pro.pl PerfSys -H sim812cm-n1 -z avg_processor_busy
NETAPP_PRO PERFSYS OK - 2 systems checked.
system (cluster1-01:kernel:system): 2.2% avg_processor_busy
system (cluster1-02:kernel:system): 1.3% avg_processor_busy
 | system=2%;80;90;0;100 system=1%;80;90;0;100

http://www.netapp-monitoring.info/en/help/PerfCpu.html

http://www.netapp-monitoring.info/en/help/PerfSys.html

What happens if the Counter is not available?

For NetApp systems that don’t support the counter avg_processor_busy, it is possible to set the switch --avg in version 2.x of check_netapp. In this case, the average of all CPUs will be used.

Help description for this switch:

Switch to average comparison instead of per instance-comparison. Setting this switch will compare the thresholds against the arithmetic average of all CPUs but still record the perfdata for each of the CPUs independently.