実現したいこと
zabbixのコンテナからVMware ESXiを監視したいです。
前提
下記の設定で以前までは問題なく監視できましたが、急にtimeout was reachedというメッセージが出て監視できなくなりました。
環境は以下のように構築していました。
- zabbixの公式のdockerファイルをgit clone
git clone https://github.com/zabbix/zabbix-docker.git
- 下記コマンドでdocker composeファイルを作成
cp docker-compose_v3_ubuntu_mysql_latest.yaml docker-compose.yaml
- docker-compose.yamlと同じ階層にある./env_vars/.env_srvで以下をコメントインして編集
ZBX_STARTVMWARECOLLECTORS=2 ZBX_VMWAREFREQUENCY=60 ZBX_VMWAREPERFFREQUENCY=60 ZBX_VMWARECACHESIZE=8M ZBX_VMWARETIMEOUT=30 ZBX_TIMEOUT=30
- 下記コマンドでバックグランドでコンテナを実行
docker compose up -d
ここまででzabbixのコンテナが起動するので、https://<IPアドレス>でzabbixのデフォルトのユーザ名・パスワード(Admin / zabbix)でログインしました。
その後、こちらのサイトを参考にESXiホスト(vCenterではありません)を登録しました。
発生している問題・エラーメッセージ
zabbixの監視データ > 最新データを見ると下記の3項目しか表示されず、仮想マシンの情報は1つも取得できなくなりました。しかも下記にはいずれも「Timeout was reached」というエラーメッセージが出ています。
VMware: Event log VMware: Full name VMware: Version
試したこと
原因切り分けとして、こちらのサイトを参考にzabbixのコンテナからcurlでESXiの情報を取得しようとしましたがうまくいきませんでした。
- docker exec -it -u root <zabbixコンテナのID> bash でコンテナに入る
- apt updateでリストの更新
- apt install curlでzabbixコンテナにcurlをインストール
- curl -k -i -v https://<ESXiのIPアドレス>/sdkを実行
上記curlコマンドの結果は以下の通りでした。
* Trying <ESXiのIPアドレス>:443... * Connected to <ESXiのIPアドレス> (<ESXiのIPアドレス>) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * TLSv1.0 (OUT), TLS header, Certificate Status (22): * TLSv1.3 (OUT), TLS handshake, Client hello (1): * OpenSSL SSL_connect: Connection reset by peer in connection to <ESXiのIPアドレス>:443 * Closing connection 0 * TLSv1.0 (OUT), TLS header, Unknown (21): * TLSv1.3 (OUT), TLS alert, decode error (562): curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to <ESXiのIPアドレス>:443
zabbixのコンテナからESXiに対してpingは通ります。
またESXiのサーバ証明書は以下の通りで期限切れではないように見えます。
次の日付以降は無効 2032 年 7 月 18 日 日曜日 00:23:18 +0900 次の日付以前は無効 2021 年 1 月 17 日 日曜日 00:23:18 +0900
何が原因と考えられるでしょうか。教えてください。
補足情報(FW/ツールのバージョンなど)
- ホストOS:Ubuntu 20.04.6 LTS
- Docker version 24.0.2, build cb74dfc
- Docker Compose version v2.15.1
あなたの回答
tips
プレビュー