Perhaps I am misunderstanding how the data is collected, but I believe the system.cpu.load parameter is providing incorrect data. As an example, I ran this check via zabbix_get and `cat /proc/loadavg` simultaneously to demonstrate the discrepancy:
Why aren't these numbers more in sync? How is system.cpu.load calculated?
Code:
$ while true; do cat /proc/loadavg | awk '{print $1" "$2" "$3}'; sleep 60; done
0.68 0.87 1.28
0.62 0.83 1.24
0.47 0.75 1.19
0.65 0.74 1.16
0.81 0.82 1.16
0.30 0.67 1.09
0.25 0.59 1.04
0.09 0.48 0.97
0.91 0.61 0.98
0.63 0.60 0.95
$ while true; do echo -e "$(zabbix_get -s test -k 'system.cpu.load[all,avg1]') $(zabbix_get -s test -k 'system.cpu.load[all,avg5]') $(zabbix_get -s test -k 'system.cpu.load[all,avg15]')"; sleep 60; done
0.25 0.28 0.27
0.35 0.30 0.28
0.19 0.27 0.27
0.25 0.27 0.27
0.40 0.30 0.28
0.43 0.34 0.29
0.37 0.35 0.30
0.28 0.34 0.31
0.44 0.37 0.32
0.27 0.33 0.31
Comment