以前から設定しようと思いつつ放置していた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でデータを撮っているので問題はないかな