check_load 使用哪些警告和关键值?

San*_*dra 14 monitoring nagios

现在我正在使用这些值:

# 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
Run Code Online (Sandbox Code Playgroud)

但是这些值几乎是随机选取的。

有人有一些测试值吗?

小智 30

虽然它是一个旧帖子,但现在回复是因为我知道 check_load 阈值对于新手来说是一个很头疼的问题.. ;)

警告警报,如果 CPU 为 70% 持续 5 分钟,60% 持续 10 分钟,50% 持续 15 分钟。严重警报,如果 CPU 为 90% 持续 5 分钟,80% 持续 10 分钟,70% 持续 15 分钟。

*command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7*
Run Code Online (Sandbox Code Playgroud)

我所有关于 CPU 负载的发现:

“负载”是什么意思:维基百科说:

所有 Unix 和类 Unix 系统都会在内核中生成三个“平均负载”数字的度量。用户可以通过运行 uptime 命令轻松地从 Unix shell 查询当前结果:

$ uptime
14:34:03 up 10:43,  4 users,  load average: 0.06, 0.11, 0.09
Run Code Online (Sandbox Code Playgroud)

从上面的输出平均负载:0.06, 0.11, 0.09意味着(在单 CPU 系统上):

  • 在最后一分钟,CPU 负载不足 6%
  • 在过去 5 分钟内,CPU 负载不足 11%
  • 在过去 15 分钟内,CPU 负载不足 9%

.

$ uptime
14:34:03 up 10:43,  4 users,  load average: 1.73, 0.50, 7.98
Run Code Online (Sandbox Code Playgroud)

上述1.73 0.50 7.98单 CPU 系统上的平均负载为:

  • 在最后一分钟,CPU 过载了 73%(1 个 CPU 有 1.73 个可运行进程,因此 0.73 个进程不得不等待一个回合)
  • 在最后 5 分钟内,CPU 负载不足 50%(没有进程必须等待轮次)
  • 在最后15分钟内,CPU过载了698%(1个CPU有7.98个可运行进程,以至于6.98个进程不得不等待一个回合)

Nagios 阈值计算:

对于 Nagios CPU 负载设置,包括警告和严重:

y = c * p / 100

在哪里: y = nagios value c = number of cores p = wanted load procent

对于 4 核系统:

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
Run Code Online (Sandbox Code Playgroud)

对于单核系统:

y = p / 100

在哪里: y = nagios value p = wanted load procent

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
Run Code Online (Sandbox Code Playgroud)

Gunther 博士 撰写的关于 CPU 负载分析的出色白皮书http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf在这篇在线文章中,Gunther 博士深入研究 UNIX 内核以了解负载平均值( “LA 三胞胎”)的计算以及它们作为容量规划指标的合适程度。

  • 时间应该是 1,5 和 15 分钟 (2认同)

d2x*_*dt2 10

Linux 加载其实很简单。每个负载平均数是所有内核平均负载的总和。IE。

 1 min load avg = load_core_1 + load_core_2 + ... + load_core_n
 5 min load avg = load_core_1 + load_core_2 + ... + load_core_n
15 min load avg = load_core_1 + load_core_2 + ... + load_core_n
Run Code Online (Sandbox Code Playgroud)

哪里0 < avg load < infinity

因此,如果 4 核服务器上的负载为 1,则意味着每个内核的使用率为 25% 或一个内核在负载下为 100%。负载为 4 表示所有 4 个内核都在 100% 负载下。负载大于 4 意味着服务器需要更多内核。

check_load 现在有

 -r, --percpu
    Divide the load averages by the number of CPUs (when possible)
Run Code Online (Sandbox Code Playgroud)

这意味着在使用时,您可以将您的服务器视为只有一个内核,因此无需考虑内核数即可直接写入百分比分数。随着-r警告和临界间隔变为0 <= load avg <= 1。IE。您不必在服务器之间修改警告和临界值。

OP 有 5,10,15 的间隔。那是错的。它是 1、5、15。