概要
- vSphere APIを利用した監視
- vSphere APIのURLを登録し、監視設定を自動化
- ESX / ESXi / vCenter 配下ホストのローレベルディスカバリとプロトタイプの作成
環境
- zabbix_server (Zabbix) 3.0.3
- VMware ESXi 5.5
できること
- HyperVisorのリソース監視
- ゲストVMのリソース監視
できないこと
- Zabbixエージェント機能を利用した監視
※別途ホスト登録してZabbixエージェントをインストールする必要がある
やりかた
ESXiホストの登録
[設定] - [ホスト] - [ホストの作成] を選択
ホストの設定
- ホスト名、所属グループを設定する
- IPアドレスの情報は使用しないため、そのままでもOK
テンプレートの設定
-
Template Virt VMware
とTemplate Virt VMware Hypervisor
をリンクさせる
マクロの登録
- ホストにマクロを登録する
項目 | 説明 |
---|---|
{$URL} | vSphere APIのURL https://{ipaddress}/sdk |
{$USERNAME} | ESX / ESXi / vCenter のログインアカウント |
{$PASSWORD} | ログインアカウントのパスワード |
ホストの追加
- ホストが追加されたことを確認
Zabbixサーバの設定
zabbix_server.conf
の下記パラメータを設定
/etc/zabbix/zabbix_server.conf
StartVMwareCollectors=2
VMwareFrequency=60
VMwarePerfFrequency=60
VMwareCacheSize=8M
VMwareTimeout=10
※変更後zabbix-serverプロセスの再起動を実施すること
VMware監視専用パラメータ詳細
パラメータ | 説明 |
---|---|
StartVMwareCollectors | vSphere APIと通信するプロセスの起動数 |
VMwareFrequency | vSphere APIから取得した情報をメモリ上にキャッシュする領域のサイズ |
VMwarePerfFrequency | vSphere APIからデータを取得する間隔 |
VMwareCacheSize | vSphere APIからパフォーマンスカウンタのデータを取得する間隔 |
VMwareTimeout | vSphere APIとの無通信タイムアウト時間 |
ホスト追加確認
しばらくするとこんな感じで自動でVMが追加されます
VMware監視における注意事項
StartVMwareCollectorsは監視するHyperVisorの倍の値を設定する
vSphere APIからデータを取得する際、VMwareFrequency
とVMwarePerfFrequency
のパラメータの特性により、処理がつまる場合がある
VMwarePerfFrequency
の間隔で取得されるデータをすぐ取得できるがVMwareFrequency
の間隔で取得されるデータは取得に時間がかかるため、HyperVisor1台につき、StartVMwareCollectors
は倍の値を設定した方が遅延が発生しない・・・、らしい!
アイテムの更新間隔はVMwareFrequency
とVMwarePerfFrequency
の値より長く設定する
vSphere APIからデータを収集するLLD設定が正しくないと、データ収集アイテムは正しく動作しない
疑問
Zabbixエージェントでのデータ収集を行いたい場合、別でホスト登録しないといけないのであまりメリットがない感じということなのでしょうか??
別でLLD設定してvSphereAPI使う必要なし??
(20160630追記)
@qryuuさんに疑問解決していただきました!
.@Tocyuki vSphereAPIによる登録はVMとしての外部監視になります。
— 九龍真乙 (@qryuu) 2016年6月29日
エージェントによる監視は内部監視なので、
値の視点が異なります。 #zabbix