check_load 应使用哪些警告值和临界值?

check_load 应使用哪些警告值和临界值?

现在我正在使用这些值:

# 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

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

有人有一些测试值吗?

答案1

Linux 负载其实很简单。每个负载平均值都是所有核心平均负载的总和。即。

 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

在哪里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)

这意味着在使用时,您可以将服务器视为只有一个核心,因此直接写出百分比分数,而不必考虑核心数。-r警告和临界间隔变为0 <= load avg <= 1。也就是说,您不必在不同服务器之间修改警告和临界值。

OP 的间隔是 5,10,15。这是错的。应该是 1,5,15。

答案2

虽然这是一篇老帖子,但现在才回复,因为我知道 check_load 阈值对于新手来说是个大难题。。;)

如果 CPU 5 分钟内占用 70%,10 分钟内占用 60%,15 分钟内占用 50%,则发出警告警报。如果 CPU 5 分钟内占用 90%,10 分钟内占用 80%,15 分钟内占用 70%,则发出严重警报。

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

我对 CPU 负载的所有发现:

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

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

$ uptime
14:34:03 up 10:43,  4 users,  load average: 0.06, 0.11, 0.09

从上面的输出可以看出,平均负载: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

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

对于单核系统:

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

Gunther 博士撰写的有关 CPU 负载分析的精彩白皮书http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf 在这篇在线文章中,Gunther 博士深入研究 UNIX 内核,以找出如何计算平均负载(“LA 三元组”)以及它们作为容量规划指标的适用性。

答案3

除非所讨论的服务器具有异步工作负载,其中队列深度是需要管理的重要服务指标,否则它甚至不值得监控平均负载。它只会分散对重要指标的注意力,例如服务时间(服务时间,服务时间)。

答案4

您知道系统性能在平均负载多少时会受到影响吗?我上一份工作中的服务器平均负载始终保持在 35-40,但仍然响应迅速。您必须进行一些侦查工作才能获得准确的数字。

您可能想要测量系统上的一些其他指标,例如 SSH 或 http 的平均连接时间;这可能是更好地指示您的系统承受了多少负载的指标。

相关内容