ESXi上の仮想マシンを検出できない

お世話になっております。

★環境
・vSphere/ESXi 6.0の仮想環境
・仮想マシンはRHEL7.6、またはWindowsServer2016
・ZabbixサーバのOSはRHEL7.6
・Zabbixサーバ、エージェント共に4.2.1

★概要
Zabbix導入前に構築済みだった仮想マシンの検出(discover vmware vms)が出来ない状態です。
ただし、Zabbix導入後に構築した仮想マシンは正常に検出できます。
検出できない仮想マシンに対し、Zabbixエージェントは導入済で、手動でホスト登録し監視は可能です。

過去事例やアドバイス等ございましたらご教示ください。

コメント表示オプション

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

どのような監視設定をされているのでしょうか?

Zabbixで用意されているテンプレート「Template VM VMware」を使
用されているのでしょうか?
そうであるならば、各VMにインストールされたZabbixエージェント
は使用していません。

Zabbixからは、VMwareのAPIを呼び出しているだけなので、Zabbix
からアクセスする時に使用しているアカウントが以前から作成して
いたVMに対する権限を確認してみてください。

また、Zabbixエージェントを使用した監視を行いたいのであれば、
手動で登録するか、Zabbixの自動登録かネットワークディスカバリ
の機能を使用して自動登録するといった方法をとる必要があります。

ユーザー 心眼 の写真

TNK様

ご返信ありがとうございます。

説明不足で申し訳ございません。
監視はテンプレート(Template VM VMware)を利用したディスカバリで自動登録したホストと
手動で登録したホストの2つの方法で監視しています。
自動登録したホストは主にマップ機能、手動登録したホストは細かいリソースの状況の確認やグラフの取得に利用しています。

Zabbix構築前に構築済みだったマシンだけディスカバリされないのですが、
ZabbixやvSphereの管理コンソールで権限を確認しても、ディスカバリされるマシンと差異がなく問題ないように思います。

システムを構築した会社(PJ退場済み)と、運用している自分たちの会社は別会社でコンタクトするのは厳しいのですが
残していったドキュメントには、同じ名前のホストがあるという理由で一部のマシンのディスカバリできないという旨の記載があります。

ホストを手動登録した後に、ディスカバリ機能を有効化すると、そういった事象が発生するのでしょうか。

ユーザー TNK の写真

なぜディスカバリできないかは、エラー発生しているなどログファ
イルに出力されているかもしれません。
まずは、ログファイルを確認してみてください。

残していったドキュメントには、同じ名前のホストがあるという理由で一部のマシンのディスカバリできないという旨の記載があります。

VMwareのテンプレート経由でのディスカバリについては、Zabbixの
古いバージョンのテンプレートには問題があったのですが、VMware
の内部で管理しているUUIDが異なればディスカバリできるようにな
っているはずです。

ユーザー 心眼 の写真

ご返信ありがとうございます。

ログなどには疑わしいのはありませんでしたが
ZabbixコンソールのVMをディスカバリするテンプレートの箇所に
[!]マークで以下のメッセージが表示されていました。

Cannot create host: host with the same visible name "仮想マシン名" already

この場合、手動で登録したホストの表示名を変更すれば(小文字⇒大文字など)宜しいのでしょうか。

ユーザー TNK の写真

名前がぶつからないようにすれば対応できると思います。

ユーザー 心眼 の写真

ありがとうございます。

表示名は修正していないため
検出できない事象はまだ解決していませんが
VCSAを6.0から6.7にアップデートしたところ以下のログが出ていました。
config.vpxd.stats.maxQueryMetrics' is invalid or exceeds the maximum number of characters permitted** error

”config.vpxd.stats.maxQueryMetrics”は設計書上では"-1"で無制限となっていましたが、実機ではデフォルト(64)でした。
web.xmlファイルのmaxQuerySizeも設計書上では”0”で無制限ですが、実際はVCSA6.7のデフォルト値(256)でした。※VCSA6.0のデフォルト値は64

Zabbixとしては2つの値を同じにすればエラーは解消されると思っていますが、正しいでしょうか?

また、こちらの環境では仮想マシンが約90台あり、デフォルト値の64を上回っていたため、検出できていなかったのかと推測しています。
正常に検出したマシンと表示名重複エラーのマシンを合計すると約64台、検出エラーの原因が不明のマシンが20台ほどありました

ユーザー 心眼 の写真

config.vpxd.stats.maxQueryMetricsの値変更とZabbix管理コンソール上で表示名を変更で、無事に検出できるようになりました。
ありがとうございました。