見出し画像

TWSNMP FCのポーリング辞典:メモリー、ストレージ使用率

TWSNMP FCのSNMPポーリングで管理対象のメモリーやストレージの使用率をモニタする方法について説明します。

動画ダイジェスト


使用するMIB

メモリーとストレージの使用量をSNMPで取得するためにはhrStorageTable

を使用します。hrStorageTypeとhrStorageDescrからメモリーやストレージの種類を特定できます。

赤枠がメモリに関連したものです。緑枠が接続されているディスクに関連した情報です。hrStorageSizeがトータルのサイズでhrStorageUsed使用しているサイズです。これらのサイズの単位はバイトではありません。バイト単位にするためにはhrStorageAllocationUnitsを掛ける必要があります。使用率で計算する場合は、100*hrStorageUsed/hrStorageSizeでよいです。
TWSNMP FCのホストリソース管理で表示すると

のようにもう少しわかりやすくなります。

ポーリング設定

メモリー、ストレージ共に使用率をモニタするためのポーリングは

のような設定になります。この例ではテーブルのインデックスを31と指定していますが、hrStorageTableの対象の行のhwStorageIndexの値に変えてください。ホストリソース管理のストレージの画面から対象を選択してポーリングを追加するのが便利です。

閾値とレベルだけ入力すれば、同じポーリングを登録できます。
ログを記録すれば、使用量をモニタできます。(使用率ができないことに、これを書いている時に気づきました。考えます。)使用量のグラフは

のような感じです。

物理メモリー使用率

メモリー不足を検知する場合、単純に物理メモリー( hrStorageType がhrStorageRam)の使用率で判断するのはよくありません。空いているメモリーは、ディスクアクセスのバッファやキャッシュに使用していて、この値も使用率に含まれるため高い値になります。使用率が90%以上が即メモリー不足とは言えません。

この例では8GBの物理メモリーの98%使用(赤矢印)していますが、7GBはキャッシュやバッファ(黄色矢印)で開放できるものです。

厳密にメモリー不足を検知するためには、仮想メモリー(緑矢印)の使用量からバッファやキャッシュ(黄色矢印)の使用量引いた値で計算する必要があります。
TWSNMP FCでは、この計算を行うポーリングを設定することができると思います。でも、まだ作っていません。メモリー不足で悪い状況になっていることは、SWAP領域の使用量をモニタすれば代替できると思っています。

バッファーやキャッシュに使用しているメモリーはプログラムでメモリーが必要になると開放して利用できます。それでも不足した時には、ディスク上のSWAP領域を利用します。この状態になると動作がかなり遅くなります。ですからSWAP領域の使用量をモニタすればよいと思います。

テンプレート

この記事で説明したポーリングのテンプレートは、

 です。
定義は、

  {
    "Name": "ストレージ使用率",
    "Type": "snmp",
    "Mode": "get",
    "Params": "hrStorageSize.$i,hrStorageUsed.$i",
    "Script": "rate=hrStorageSize > 0 ? 100.0*(hrStorageUsed/hrStorageSize):0.0;rate < 90.0",
    "Level": "low",
    "Descr": "ストレージ使用率",
    "AutoMode": "index:hrStorageSize"
  },

です。

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。