見出し画像

TWSNMP FCのポーリング辞典:仮想基盤(VMWare ESXi)をモニタする

TWSNMP FCでVMware ESXiの状態をポーリングする方法の説明です。
昔は家でも沢山のパソコンやサーバーを使っていたので家中コンピューターだらけになっていましが、今では、仮想化技術のおかげで一台の物理的なコンピュータの中何台もの仮想コンピュータを作ることができるようになっています。自分でも一体何台が動作しているかわからなくなってしまいます。そこでTWSNMP FCで監視できるようにしました。

VMware ESXiとは

いつのものように他力ですが、

とかを見てください。

ポーリングするための準備

TWSNMP FCでESXiから情報を取得するためには、まずノードの設定が必要です。

赤枠のユーザーとパスワード欄に、ESXiに接続するためのユーザーIDとパスワードを設定します。もし、ポート番号を変えているなどでESXiに接続するためのURLが

https://ノードのIPアドレス/

でない場合は、URL欄にESXiにアクセスするためのURLを設定します。

ポーリング設定

ESXiへのポーリングは、

のように設定します。

種別

VMwareを選択します。

モード

HostSystem
仮想基盤(ESXi)が稼働するコンピュータの情報を取得するモードです。
ターゲットには、ホスト名を指定します。
Datastore
仮想基盤(ESXi)に接続されたディスクの情報を取得するモードです。
ターゲットには、データストア名を指定します。
VirtualMachine
仮想基盤(ESXi)内で稼働する仮想マシンの情報を取得するモードです。
ターゲットには、仮想マシン名を指定します。

フィルター

フィルターは、モードに対応した対象の名前を設定しますが、省略(空欄)した場合は、すべての対象の合計を取得します。データストアならすべてのディスクの合計の情報です。
判定条件は、各モードで取得した値の変数で正常と判断する式をJavascriptで記述します。

HostSystemモード

このモードで取得できる情報は、

totalCPU
仮想基盤で利用可能なCPUクロックの総数
usedCPU
仮想基盤で使用中のCPUクロック数
usageCPU
CPU使用率です。100*totalCPU/usedCPUで計算します。
totalMEM
仮想基盤の全メモリー容量
usedMEM
仮想基盤で使用中のメモリー容量
usageMEM
メモリー使用率です。100*usedMEM/toltalMEMで計算します。
totalHost
仮想基盤のホスト数です。ターゲットを空欄にした時だけ有効です。

です。
判定スクリプトに

usageMEM < 80

のように設定すれば、メモリー使用率が80%以下で正常と判断するポーリングになります。

Datastoreモード

データストアモードで取得できる情報は、

capacity
ディスクの全容量です。
freeSpace
空き容量です。
usage
ディスクの使用率です。freeSpace/capacityで計算します。
total
データストア数です。ターゲットを空欄にした時だけ有効です。

です。
判定スクリプトに

usage < 80

のように設定するとデータストア全体のディスク使用率が80%以下を正常とするポーリングを設定できます。

VirtualMachineモード

このモードで取得できる情報は、

up
稼働している仮想マシンの数です。
total
登録されている仮想マシンの数です。
rate
稼働率です。 100*up/totalで計算します。

です。フィルターに仮想マシン名を設定すれば、特定の仮想マシンが動作していることをモニタできます。
判定スクリプトに

up > 0

のように設定すれば、TESTVMという仮想マシンが稼働している場合に正常とするポーリングになります。

ポーリング結果

ポーリングの結果は、

のようになります。ログを保存すれば、

のようにグラフに書くこともできます。

ポーリングテンプレート

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

です。定義は、

  {
    "Name": "仮想マシン稼働状態",
    "Type": "vmware",
    "Mode": "VirtualMachine",
    "Filter": "仮想マシン名",
    "Script": "up > 0",
    "Level": "off",
    "Descr": "仮想マシン稼働状態",
    "AutoMode": "index"
  },
  {
    "Name": "仮想基盤CPU使用率",
    "Type": "vmware",
    "Mode": "HostSystem",
    "Filter": "仮想基盤名",
    "Script": "usageCPU < 80",
    "Level": "off",
    "Descr": "仮想基盤CPU使用率",
    "AutoMode": "index"
  },
  {
    "Name": "仮想基盤メモリー使用率",
    "Type": "vmware",
    "Mode": "HostSystem",
    "Filter": "仮想基盤名",
    "Script": "usageMEM < 80",
    "Level": "off",
    "Descr": "仮想基盤メモリー使用率",
    "AutoMode": "index"
  },
  {
    "Name": "仮想基盤データストア容量",
    "Type": "vmware",
    "Mode": "Datastore",
    "Filter": "データストア名",
    "Script": "usage < 80",
    "Level": "off",
    "Descr": "仮想基盤データストア容量",
    "AutoMode": "index"
  },

開発した時の話

このポーリング機能を開発した時の話は、

です。

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