web-dev-qa-db-ja.com

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

しかし、これらの値はほとんどランダムに選択されています。

誰かがいくつかのテスト済みの値を持っていますか?

13
Sandra

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%使用されているか、1つのコアが100%の負荷で使用されていることを意味します。負荷が4の場合、4つのコアすべてが100%の負荷を下回っています。負荷が4より大きい場合、サーバーにはさらにコアが必要です。

check_load

 -r, --percpu
    Divide the load averages by the number of CPUs (when possible)

つまり、使用すると、サーバーのコアは1つだけであると見なすことができるため、コアの数を考慮せずにパーセントの割合を直接書き込むことができます。 -rを使用すると、警告とクリティカルの間隔は0 <= load avg <= 1になります。すなわち。警告や重要な値をサーバー間で変更する必要はありません。

OPには、間隔として5,10,15があります。それは間違いです。 1,5,15です。

9
d2xdt2

古い投稿ですが、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ライクなシステムは、カーネルで3つの「負荷平均」数のメトリックを生成します。ユーザーはuptimeコマンドを実行することにより、Unixシェルから現在の結果を簡単にクエリできます。

$ 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

上記のシングルCPUシステムでの1.73 0.50 7.98の負荷平均は次のとおりです。

  • 最後の1分間に、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 valuec = number of coresp = 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 valuep = 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トリプレット」)の計算方法と、それらがキャパシティプランニングメトリックとしてどれだけ適切かを確認します。

27
Invent Sekar

問題のサーバーに非同期ワークロードがあり、キューの深さが管理する重要なサービスメトリックである場合を除き、正直なところ、負荷平均を監視する価値はありません。これは、サービス時間(サービス時間、サービス時間)などの重要なメトリックからの注意散漫です。

3
cagenut

Nagiosも、MuninやCactiのようなツールであり、サーバーで発生しているさまざまな種類のワークロードをグラフ化します。 load_average、cpu使用率、disk ioなどのいずれかになります。

この情報を使用すると、Nagiosで適切なしきい値を設定する方が簡単です。

2
nenne

Invent Sekarの答えを拡張するには:check_loadとパーセンテージを使用する場合、他のコマンドライン引数とともに-rコマンドライン引数が必要になると思います。

例えば:

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

システムのパフォーマンスが影響を受ける負荷平均を知っていますか?私の最後の仕事では、常に35-40の平均負荷に置かれるサーバーがありましたが、それでも応答性はありました。それはあなたが正確な数を得るためにあなたが少しの探偵の仕事をしなければならない測定です。

代わりに、SSHまたはhttpの平均接続時間など、システムの他のいくつかのメトリックを測定することもできます。これは、システムがどの程度の負荷をかけているかを示すより良い指標になるかもしれません。

1
Peter Grace