2020年12月28日月曜日

Zabbix5.0でのVMware ESXi6.7の監視

 以前から設定しようと思いつつ放置していたESXiの監視をZabbixに追加することに


バージョンはそれぞれ以下の通り

Zabbix 5.0.2

VMware ESXi 6.7.0


今回はESXi側のsnmpの設定はせず、Zabbix側の設定で監視を行う


はじめにzabbix_server.confに設定を追記する

$ sudo vim /etc/zabbix/zabbix_server.conf

以下追記(コメントアウトしているものを解除して書き換えるのが面倒だった)

StartVMwareCollectors=1

VMwareFrequency=60

VMwarePerfFrequency=60

VMwareCacheSize=8M

VMwareTimeout=10


StartVMwareCollectorsの値はZabbixの公式ドキュメント上ではESXiもしくはvCenterの1倍以上2倍以下なので、1でも2でもいいか


追記したらzabbixを再起動する

$ sudo systemctl restart zabbix-server.service


次にブラウザでZabbixへログインしてホストの設定を追加していく

【設定】>【ホスト】>【ホストの作成】にて監視したいESXiの情報を入力

【ホスト名】 任意

【グループ名】 Hypevisors

【インターフェース】 <ESXiのIPアドレス> (ポート番号は初期値


【テンプレート】タブへ移動して以下2つを選択する

Template VM VMware

Template VM VMware Hypervisor


【マクロ】タブへ移動して以下3つのマクロを入力して【更新】ボタンでホスト情報を登録する

{$USERNAME}           <ESXiへのユーザ名>

{$PASSWORD}          <ESXIへのログインパスワード>

{$URL}                          https://<ESXiのIPアドレス>/sdk



小一時間ほど経つとホストの一覧に別途ESXiのホスト名を持ったホストが自動作成される

自宅のESXiはホスト名は特に設定していないため、【localhost.localdomain】で表示されている



ひとまずCPUとメモリの使用率のグラフが欲しいので、自動生成されたホストの設定を開いて【グラフ】タブから以下の情報を作成する

・CPU usageグラフ

 localhost.localdomain:CPU usage

・memoryグラフ

  localhost.localdomain: Total memory

 localhost.localdomain: Used Memory



これでCPU使用率とメモリ使用率のグラフが生成できた




VM台数や他のデータも取れるものの、今の状況ではそこまで必要ないのでこれだけで済ましておく

pingによる監視も動いているし、ESXi上のVM(仮想ルータ)はそれぞれsnmpでデータを撮っているので問題はないかな