監視によっていろいろ楽したい @snicker_jp です!
もくじ
きっかけ
仮想化が進み、気がついたらホスト側の監視が抜けていたので、設定しました。ゲストOSのDisk監視はしていたけど・・・て言うやつです。
前提条件
- VMware ESXi (4.1 or 5.x)
- vCenterとか使ってないよ!
- Datastoreの容量空きの監視
- CentOS 6 x86_64(監視する側)
- Nagios(RPM)
- vSphere SDK for Perl
- perl-Nagios-Plugin(RPM)
- perl-TimeDate(RPM)
- Nagios(check_esx_datastore.pl)
作業の流れ
- VMware ESXi に「監視用ユーザー」の作成
- 「vSphere SDK for Perl」の導入
- 「perl-Nagios-Plugin(RPM)」の導入
- 「perl-TimeDate(RPM)」の導入
- 「Nagios (check_esx_datastore.pl)」の導入
- 設定
- 確認
作業
VMware ESXi に「監視用ユーザー」の作成
こちらは前回書いた記事を、参照この後はすべて、監視する側Nagiosが入っているマシンで行います!
「vSphere SDK for Perl」の導入
vSphere SDK for Perl から、「SDK for Perl」のダウンロード(バージョンは4.1以降なら大丈夫と思われる)今回は「VMware-vSphere-Perl-SDK-4.1.0-254719.x86_64.gz」を使いました。
tar zxf VMware-vSphere-Perl-SDK-4.1.0-254719.x86_64.gz cd vmware-vsphere-cli-distrib sudo perl vmware-install.plメッセージに従って導入!
最後こんな感じ
The installation of vSphere CLI 4.1.0 build-254719 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-vSphere-CLI.pl". This installer has successfully installed both vSphere CLI and the vSphere SDK for Perl. The following Perl modules were found on the system but may be too old to work with vSphere CLI: version 0.78 or newer Enjoy, --the VMware team
「perl-Nagios-Plugin(RPM)」の導入
前後しますが、「check_esx_datastore.pl」を実行したら、以下のメッセージが出たのでPerlモジュール追加perl check_esx_datastore.pl Can't locate Nagios/Plugin.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/loastore.pl line 12. BEGIN failed--compilation aborted at check_esx_datastore.pl line 12.
sudo yum install perl-Nagios-Plugin依存関係はこんな感じ
Dependencies Resolved ==================================================================================== Package Arch ==================================================================================== Installing: perl-Nagios-Plugin noarch Installing for dependencies: perl-Class-Accessor noarch perl-Config-Tiny noarch perl-Math-Calc-Units noarch perl-Params-Validate x86_64
「perl-TimeDate(RPM)」の導入
また、前後しますが、「check_esx_datastore.pl」を実行したら、以下のメッセージが出たのでPerlモジュール追加perl check_esx_datastore.pl Can't locate Date/Parse.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/localore.pl line 10. BEGIN failed--compilation aborted at check_esx_datastore.pl line 10.
sudo yum install perl-TimeDate依存関係はありませんでした。
Dependencies Resolved ==================================================================================== Package Arch ==================================================================================== Installing: perl-TimeDate noarch
「Nagios(check_esx_datastore.pl)」の導入
check_esx_datastores - Nagios Exchange をダウンロードして展開ダウンロード・展開
git clone https://github.com/tg432/check_esx_datastores.git cp check_esx_datastores/check_esx_datastore.pl /usr/lib64/nagios/plugins/
確認
動くか確認~perl /usr/lib64/nagios/plugins/check_esx_datastore.pl -H 192.168.100.10 -u user1 -p @Snicker_jp3 -w 10 -c 10 CRITICAL: datastore1 Size: 1856 Used: 76.7653892780172 CHECK_ESX_DATASTORES CRITICAL - Space used on Datastore > 10%
休憩
設定
設定のサンプルdefine command{ command_esx_datastore command_line $USER1$/check_esx_datastore.pl -H $HOSTADDRESS -u $ARG1$ -p $ARG2$ -c $ARG3$- -w $ARG4$ }
define service{ use generic-service host_name 「ESXi ホスト」 service_description VMware Datastore servicegroups Disk check_command check_esx_datastore!user!パスワード!80!90 }
確認
ざっくり確認「OK」になれば、監視適用
まとめ
- あんまり需要ないと思いますけど、こんなこともできますよ~程度に
- vCenterだけでなく、今まで使っていた監視ツールで一元管理できますね!
- 今回のはあくまで、一例です~ ポィ(o'д')ノ ⌒ ○
他にも方法があるみたいです!(^-^)
参考リンク
nagios-plugin: check_esx_datastore | www.tg432.deVMWare - Nagios Exchange
田口 貴久,遠山 洋平,志茂 吉建 技術評論社 2013-03-16