Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Right now I am using these values:

# y = c * p / 100
# y: nagios value
# c: number of cores
# p: wanted load procent

# 4 cores
# time        5 minutes    10 minutes     15 minutes
# warning:    90%          70%            50%
# critical:   100%         80%            60%
command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

But these values are just picked almost random.

Does anyone have some tested values?

share|improve this question
1  
I think there is NO standard or tested value. It depends on your expected server workload. If you expect a high load, you should increase the values. Otherwise, your server will always appear in critical state. –  Khaled Dec 6 '10 at 14:01
    
Yes, that is my problem. I constantly get critical notifications. Should I multiply everything with 3? –  Sandra Dec 6 '10 at 14:09
add comment

5 Answers

up vote 3 down vote accepted

It depends on load the server have, and what load you'd expect.

But start with something in the ranges of

5 min load avg:
w: <ncpu> * 8
c: <ncpu> * 10

10 min load avg:
w: <ncpu> * 5
c: <ncpu> * 8

15 min load avg:
w: <ncpu> * 2
c: <ncpu> * 3

and adjust for each server, so you get notifications when it makes sense for the particular server.

share|improve this answer
add comment

Do you know at what load average your system's performance is affected? We had servers at my last job that would consistently sit at 35-40 load average, but were still responsive. It's a measurement you have to do a bit of detective work to get accurate numbers for.

You might want to instead measure some other metrics on the system, like average connect time for SSH or http; this might be a better indicator of how much load your system is under.

share|improve this answer
    
What does a load average of e.g. 35 actually mean? Does the number of cpu cores make a difference on the number? –  Sandra Dec 6 '10 at 22:07
add comment

Unless the servers in question have an asynchronous workload where queue depth is the important service metric to manage then its honestly not even worth monitoring load average. Its just a distraction from the metrics that matter like service time (service time, and service time).

share|improve this answer
add comment

A good complement too Nagios is a tool like Munin or Cacti, they will graph the different kinds of workload your server is experiencing. Be it load_average, cpu usage, disk io or something else.

Using this information it is easier to set good threshold values in Nagios.

share|improve this answer
add comment

though its an old post, replying now because i knew check_load threshold values are bigtime headache for the newbies.. ;)

A warning alert, if CPU is 70% for 5min, 60% for 10mins, 50% for 15mins. A critical alert, if CPU is 90% for 5min, 80% for 10mins, 70% for 15mins.

*command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7*

All my findings about CPU load:

Whats meant by "the load": Wikipedia says:

All Unix and Unix-like systems generate a metric of three "load average" numbers in the kernel. Users can easily query the current result from a Unix shell by running the uptime command:

$ uptime 14:34:03 up 10:43, 4 users, load average: 0.06, 0.11, 0.09 From the above output load average: "0.06, 0.11, 0.09" mean (on a single-CPU system) during the last minute, the CPU was underloaded by 6% during the last 5 minutes, the CPU was underloaded 11% during the last 15 minutes, the CPU was underloaded 9% $ uptime 14:34:03 up 10:43, 4 users, load average: 1.73, 0.50, 7.98 The above load average of "1.73 0.50 7.98" on a single-CPU system as:

during the last minute, the CPU was overloaded by 73% (1 CPU with 1.73 runnable processes, so that 0.73 processes had to wait for a turn) during the last 5 minutes, the CPU was underloaded 50% (no processes had to wait for a turn) during the last 15 minutes, the CPU was overloaded 698% (1 CPU with 7.98 runnable processes, so that 6.98 processes had to wait for a turn) Nagios threshold value calculation: For Nagios CPU Load setup, which includes warning and critical:

y = c * p / 100 y: nagios value c: number of cores p: wanted load procent

for a 4 core system: time 5 min 10 min 15 min warning: 90% 70% 50% critical: 100% 80% 60%

command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

For a single core system:

y = p / 100 y = nagios value p = wanted load percentage

time       5 min  10 min    15 min
warning:   70%    60%       50%
critical:  90%    80%       70%

command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7

A great white paper about CPU Load analysis by Dr. Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf In this online article Dr. Gunther digs down into the UNIX kernel to find out how load averages (the “LA Triplets”) are calculated and how appropriate they are as capacity planning metrics.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.