VMware監視設定について vCenterから情報取得ができない
以下のエラーが出力され、vCenter APIから情報取得が行えていない状況です。
ネット上で情報を探っていますがあまりネタがなく、書き込ませて頂きました。
14934:20140806:112420.380 Item [[vcenterhostname]:vmware.cluster.discovery[{$URL}]] error: Cannot get EventHistoryCollector session
14938:20140806:112421.380 Item [[vcenterhostname]:vmware.hv.discovery[{$URL}]] error: Cannot get EventHistoryCollector session
14937:20140806:112422.382 Item [[vcenterhostname]:vmware.vm.discovery[{$URL}]] error: Cannot get EventHistoryCollector session
14939:20140806:112424.383 Item [[vcenterhostname]:vmware.eventlog[{$URL}]] error: Cannot get EventHistoryCollector session
Vmware vCenter Server
バージョン4.1.0
zabbix-server
バージョン2.2.5
OS:CentOS6.5(仮想マシン)
zabbix_server.conf
~~~~~~~~~
### Option: StartVMwareCollectors
# Number of pre-forked vmware collector instances.
#
# Mandatory: no
# Range: 0-250
# Default:
StartVMwareCollectors=1
~~~~~~~~~
# ps -ef | grep VM
zabbix 14959 14928 0 Aug05 ? 00:00:01 zabbix_server: vmware collector #1 [updated 0, removed 0 VMware services in 0.000003 sec, querying VMware services]
# curl -k -I https://[vCenterIPアドレス]
HTTP/1.1 200 OK
Date: Wed, 6 Aug 2014 01:42:05 GMT
Connection: Keep-Alive
Content-Type: text/html
Content-Length: 3486
# curl -k -I https://[vCenterIPアドレス]/sdk
HTTP/1.1 400 Bad Request
Date: Wed, 6 Aug 2014 01:42:24 GMT
Connection: close
Content-Type: text; charset=plain
Content-Length: 0
/sdkのURLが使えないので、直接IPアドレスだけ設定してます。
zabbixでの設定は、vCenter用ホストを追加して
テンプレート:Template Virt VMware
マクロ:
{$URL}->https://[vCenterIPAddress]
{$USERNAME}->vCenter用アカウント
{$PASSWORD}->vCenter用パスワード
としています。
以下のようにhttps://を省いて設定した場合は、Timeoutのエラーに代わります。
{$URL}->[vCentersIPAddress]
{$USERNAME}->vCenter用アカウント
{$PASSWORD}->vCenter用パスワード
14938:20140806:114420.382 Item :[[vcenterhostname]:vmware.cluster.discovery[{$URL}]] error: Timeout was reached
14936:20140806:114421.383 Item [[vcenterhostname]:vmware.hv.discovery[{$URL}]] error: Timeout was reached
14937:20140806:114422.385 Item [[vcenterhostname]:vmware.vm.discovery[{$URL}]] error: Timeout was reached
14938:20140806:114424.387 Item [[vcenterhostname]:vmware.eventlog[{$URL}]] error: Timeout was reached
恐らくマクロのURL指定等に問題があるのかと思って調査していますが、
何か情報をお持ちの方はいませんでしょうか。
なお、ここに同じエラー出ている人がいたので、
https://www.zabbix.com/forum/showthread.php?t=43779
{$URL}->https://[vCentersIPAddress]/mob
でも試しましたが、以下のエラーがでてしまいます。
14934:20140806:115520.158 Item [[vcenterhostname]:vmware.cluster.discovery[{$URL}]] error: Cannot find performance counters for virtualDisk group
14938:20140806:115521.159 Item [[vcenterhostname]:vmware.hv.discovery[{$URL}]] error: Cannot find performance counters for virtualDisk group
14934:20140806:115522.160 Item [[vcenterhostname]:vmware.vm.discovery[{$URL}]] error: Cannot find performance counters for virtualDisk group
14938:20140806:115524.161 Item [[vcenterhostname]:vmware.eventlog[{$URL}]] error: Cannot find performance counters for virtualDisk group
TNK - 投稿数: 4769
マニュアルには、
とあるので、4.1以降であればサポートされているはずだと思いま
す。
マニュアル:
https://www.zabbix.com/documentation/2.2/manual/vm_monitoring
とありますが、「使えない」と判断したのはどのような理由からで
すか?
記載頂いているcurlのログだけなら「400 Bad Request」ですので、
本来指定されるべき引数などが不足していて、正しい要求ではない
と拒否されているだけなのではないでしょうか?
例えば、存在しないURLなら、「403 Not Found」というようなエラ
ーになると思います。
ですので、400エラーだけが根拠であるならば、{$URL}には、
https://[vCenterIPアドレス]/sdk
というURLを指定して再度確認してみて頂けませんでしょうか。
sf0713 - 投稿数: 5
TNKさん
早々にコメント頂きまして、ありがとうございます。
sdkのURLの件、
ご指摘の通り、curlの400エラーのログで判断しており、
適切なURLではないと勘違いしておりました。
https://[vCenterIPアドレス]/sdk
ご提案頂いた上記のURLで設定し、
あとvmwaretoolを導入していなかったことに気付いたので、
こちらのインストールも行い、ステータスを確認したいと思います。
進捗あればここで再度ご報告させて下さい。
sf0713 - 投稿数: 5
TNKさん
情報を取得することできるようになりました。
https://[vCenterIPアドレス]/sdk
最初は上記URLのみ指定しておりましたが、
Cannot get EventHistoryCollector session
エラーは出力され続けており、改善は見られませんでした。
このあとvmwaretoolを導入したところ、情報を取得できるようになりました。
vCenter APIから情報取得するためにはvmwaretoolは必須なのですね、
構築不十分で失礼致しました。