TECHZEN Zenoss User Community ARCHIVE  

Normalized CPU load

Subject: Normalized CPU load
Author: Jim R
Posted: 2015-11-19 13:21

For a long time, I've always had problems monitoring CPU load.

Since CPU load is a measure of the average length of the run queue, how to interpret that is dependent on the number of CPUs, making a threshold difficult to set and maintain.

I have finally figured out how to do this with Zenoss. I've always wanted to normalize load as a percentage of the number of CPUs, so 100% is a load average equal to the number of CPUs, no matter how many there are.

To do this, I created a graph and added laloadint5 as a point. I then set teh RPN for the datapoint to:

${here/hw/cpus/countObjects},/

Since load from SNMP is multiplied by 100, this gives me 5 minute load as a percentage.

A threshold can also be created as:

n*100*here.hw.cpus.countObjects()

where n is the desired percentage.

To simplify, 125*here.hw.cpus.countObjects() would give a threshold of 125%, or a load of 40 for a 32 CPU system and 30 on a 24 CPU system; all without having different thresholds for different sized systems.



Subject: Re: [Zenoss] Normalized CPU load
Author: Jim R
Posted: 2015-11-20 07:35

Are you doing Windows or Linux If Linux you should look at the http://wiki.zenoss.org/ZenPack:Improved_Linux_Monitor if using Zenoss 4.x anyway. James Pulver CLASSE Computer Group Cornell University


< Previous
collecting metrics data in json format
  Next
Monitoring Status Device
>