メモリ使用量をチェックするNagiosプラグインの検索の上Nagios プラグイン パッケージにはメモリをチェックするためのプラグインが含まれていないため、多くの結果が返されるため、どれを使用するか判断するのが困難です。
それで、他の人はどれを使っているのか気になったんです。
Linux ホストでは、Linux 上の Nagios で NRPE を使用しています。
答え1
私は Glen M 氏の意見に強く反対します。キャッシュとバッファに使用できるメモリの量は、ほぼすべての種類のサーバー OS 上のほぼすべての種類のアプリケーションで良好なパフォーマンスを確保するのに不可欠です。
問題に気付く前に Web サーバーがページングを開始するまで待っていると、手遅れになります。
便利なワークステーションでは、次のようになります。
total used free shared buffers cached
Mem: 4135700 2588568 1547132 0 91024 2309052
-/+ buffers/cache: 188492 3947208
Swap: 4192944 156 4192788
使用量を 100*[used-buffers/cache]/total、つまり 100*188492/4135700 として報告したいと思います。
これを実現するプラグインを書くのはそれほど大変なことではありません。しかし、これに対応するいくつかの製品が存在します。例えば、チェックメモリ
独自のものを構築するには、ここにちょっとしたヒントがあります:
PCTUSED=`free | awk '/^Mem:/ {tot=$2; } /buffers/ { used=$3; } END { print used*100/tot }'`
答え2
数年前、私はこれ用のプラグインを作成しました。
基本的に、ほとんどの OS のメモリ レポートには多少の欠陥があります。つまり、メモリはアプリケーションによって保持されますが、必要に応じていつでも解放できます。
おそらく本当に気になるのは、システムがスワップのためにディスクにアクセスする頻度、つまりスラッシングが始まるかどうかです。
私は vmstat といくつかの正規表現 (または正規表現付きの Python) を使用して、ページインとページアウトを調べ、それらが特定のしきい値を超えたかどうかを確認しました。
これにはかなりの調整と監視が必要でしたが、これが私にとって最も効果的でした。{nagios | big brother | xymon | mon} 用のプラグインを書くのは難しくありません。