見出し画像

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

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

VMware ESXiとは

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

とかを見てください。

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

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

画像1

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

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

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

ポーリング設定

ESXiへのポーリングは、

画像2

のように設定します。種別に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
仮想基盤のホスト数です。ターゲットを空欄にした時だけ有効です。

HostSystem||usageMEM < 80

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

Datastoreモード

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

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

です。

Datastore||usage < 80

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

VirtualMachineモード

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

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

です。ターゲットに仮想マシン名を設定すれば、特定の仮想マシンが動作していることをモニタできます。

VirtualMachine|TESTVM|up > 0

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

ポーリング結果

ポーリングの結果は、

画像3

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

画像4

履歴を記録できます。グラフに書くこともできます。

画像5

ポーリングテンプレート

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

からダウンロードできます。

開発した時の話

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

です。

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