![]() |
![]() |
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 |
< |
Previous collecting metrics data in json format |
Next Monitoring Status Device |
> |