zabbixでのesxi監視

はじめまして投稿させていただきます。

表題としては、zabbix2.2を使用してESXiの情報を取得したいといった内容です

環境
zabbix2.2
ESXi 5.0u2

現状、一部のテンプレートであれば情報取得可能です。ESXiのバージョンなどです。
しかし、Keyがvmware.hv.version[{$URL},{HOST.HOST}]となっているようなものは取得できません。

このようなKeyをテンプレートのマクロの変数として登録する場合、どのようにしたら取得可能になりますか

また、VMの3つのテンプレートには、$URL,$USERNAME,$PASSWORDは設定済みです。

分かりずらい点もあるかとおもわれますが、ご教示ください

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

具体的にどのように設定されているのでしょうか?

vCenterもしくはESXiをホストとして登録し、ホストのマクロで、

 {$URL}
 {$USERNAME}
 {$PASSWORD}

を設定して、テンプレート「Template Virt VMware」だけをホスト
にリンクさせればよいはずです。
他の2つは、ディスカバリの結果によって呼び出されるようになっ
ていたと思いますので、ホストにはリンクの設定をしません。

あと、ディスカバリの更新間隔がデフォルトだと1時間だったと思
うので、ハイパーバイザやVMのディスカバリが実行されて、各アイ
テムが登録されるまでには時間がかかります。

設定してすぐに監視できる状態にはなりませんので、早く反映させ
たい場合はディスカバリの間隔を短く設定すれば、より早く認識さ
れると思います。

ご参考:【Zabbix 2.1】zabbix2.1.6→2.1.7 の変更点
 http://www.slideshare.net/qryuu/zabbix-21zabbix216217-vm

マニュアルも再度ご確認ください。
 https://www.zabbix.com/documentation/2.2/manual/vm_monitoring

ユーザー zabi の写真

ご連絡ありがとうございます。

現状の監視方法についてですが、テスト的に監視しております。
対象はESXi1台

マクロについて、以下を登録しております。
 {$URL}
 {$USERNAME}
 {$PASSWORD}

テンプレートとのリンクについては、HypervisorとGeustテンプレートがvmware vir
にリンクされておらず、リンクさせました。

あと、気になるのですが、監視サーバからESXiに対して、10050番ポートにtelnet
したときにコネクション拒否になりますが、正しい動作なのでしょうか
ちなみに、esxcliコマンドで10050番ポートを通過させ、サービス再起動は完了しております。

zabbixのバージョンは2.2.0を使用しています。

ユーザー ike_dai の写真

はじめまして。

ESXi監視についてですが、
Template Virt VMwareの中のディスカバリの項目をご覧いただけますでしょうか。
この中にホストプロトタイプの設定箇所があり、
ここに、ハイパーバイザが見つかった際にはTemplate Virt VMware Hypervisorを割り当てる設定がされています。

そのため、ご自身で設定いただくのは、
TNKさんもおっしゃっている通り、
Template Virt VMwareのテンプレートを割り当てるのみでOKです。
あとは自動的にテンプレート割当やホスト追加を行なってくれます。

また、VMware監視ではZabbix Agentを用いません。
そのため、ZabbixサーバとESXiが10050番ポートで通信する必要はありません。
{$URL}で指定いただいた、https://hostname/sdkにのみ通信可能であれば自動監視できます。

ユーザー zabi の写真

ご連絡ありがとうございます。

10050番ポートで通信していないのですね。了解しました。

あと、設定をしっかり行えば、Template Virt VMwareのアイテム取得不可となっている
項目も取得できるようになりますか

現在39項目中4項目しか取得できておらず、不安です

ユーザー ike_dai の写真

Template Virt VMwareのテンプレートの監視アイテムは3項目だけかと思います。

* vmware.eventlog[{$URL}]
* vmware.fullname[{$URL}]
* vmware.version[{$URL}]

あとはTemplate Virt VMwareのディスカバリ(vmware.hv.discovery, vmware.vm.discovery, vmware.clustor.discovery)によって自動的に登録されたホスト側の監視アイテムとして登録されます。

ご自身でホスト登録されたもの以外に自動的にESXiのホスト名に一致するホストがZabbixに自動登録されていないでしょうか?
もし登録されていない場合には、ディスカバリルール(vmware.hv.discovery)のステータスをご確認下さい。

以下、ご注意下さい。
ご自身で登録されたホストの名前がローレベルディスカバリによって自動登録しようとしているESXiのホスト名とバッティングしてしまう場合にESXi用ホストの自動登録に失敗するかと思います。
その場合にはご自身で最初にZabbixに登録されたホスト名を変更してお試し下さい。

ハイパーバイザの自動登録は、ホスト名にESXiのUUIDを、表示名にESXiのホスト名を登録するようデフォルトで設定されています。
Zabbixではホスト名・表示名ともにZabbix内で重複すると登録できない仕様になっているためこの点ご注意下さい。

ユーザー zabi の写真

ご返答ありがとうございました
私自身勘違いしておりました。最終的に取得したいのは、ESXiホストが認識しているデータストアのディスク書き込み速度、読み込み速度、使用量などでしたが、以下の三つのテンプレートではそこまでは取れそうもないようですね

Template Virt VMware
Template Virt VMware Guest
Template Virt VMware Hypervisor

そう考えると、ご教示いただいたことにより、データ取得は可能となりました。ありがとうございます。

ユーザー ike_dai の写真

そうですね。
Template Virt VMware Hypervisorで取れるデータは各データストアへの読込み待ち時間平均/書込み待ち時間平均の値ぐらいですね。
あとは、各仮想マシン毎のデバイスへのIOは取れるのでその値が活用できるかと思います。

ユーザー t-kubota の写真

お世話になります。

zabiさんと似たような状況でして、便乗して投稿させて頂けますでしょうか。
(zabbix、Linux初心者のため不勉強な内容かもしれませんが、どうぞよろしくお願いいたします)

■環境
・zabbixサーバ:zabbix2.2
(rpmにてインストール)

・監視対象:VMware ESXi 5.0(+ゲストOS)

■作業
新規ホストにてESXiを登録&テンプレートリンク

 ホスト名:ESXi IPアドレス
 エージェントI/F:ESXi IPアドレス
 テンプレートリンク:Template Virt VMware
 マクロ:($PASSWORD)=ESXiログインPASS
    :($USERENAME)=ESXiログインユーザ
    :($URL)=https://{ESXi IP}/sdk

■現象
全ての情報が情報取得不可
希望としましては、ホストOSのCPUやメモリ状況を監視したいです。

■懸念
・SDKの利用設定が必要?
zabbixサーバに対し、SDKの特別な設定をしておりません。
vSphere SDK (for Perl?)の設定がzabbixサーバに必要でしょうか。

・zabbix-serverコンパイル時にオプションが必要?
マニュアルにはコンパイル時にオプションが必要と
ありました。
(with-libcurl with-libxml2)
rpmにてzabbix-serverインストールする場合も何か対応が必要となるのでしょうか。
(libcurl libxml2ともにrpmでインストール済)

同じような現象で情報をお持ちの方、何か確認ポイントの当たりが付く方、
大変お手数ですが、なにかございましたらご教示頂きたいです。

ユーザー t-kubota の写真

お世話になります。
自己レスです。

以下のように変更しましたらディスカバリが1/3取得可能となりました。

■修正前
ホスト名:ESXi IPアドレス
https://{ESXi IP}/sdk

■修正後
ホスト名:ホスト名
https://{ESXi ホスト名}/sdk

とりあえず取得が可能となりましたので、これからまた試行錯誤したいと思います。
スレ汚しご迷惑をおかけしました。