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の運営にも貢献できるのでよろしくお願います。