vCenter Server 上で ESXi ホストの接続解除に伴う SNMP アラートが断続的に発生する
search cancel

vCenter Server 上で ESXi ホストの接続解除に伴う SNMP アラートが断続的に発生する

book

Article ID: 432891

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項: これは英文の記事 「SNMP alerts are triggered intermittently for different ESXi hosts on vCenter server, indicating a "Host connection failure." (401817)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • これらのアラートが発生している間、vCenter のユーザーインターフェース(UI)上では、ホストが「応答なし」や「切断」の状態として表示されることはありません。
  • アラートは手動での操作を必要とせず、自動的に解決します。
  • ESXi ホストと vCenter Server 間のネットワーク接続自体に問題は見られません。
  • しかしながら、vpxd ログには "Exception occurred during host sync; Host communication failed"(ホスト同期中に例外が発生しました。ホスト通信に失敗しました)と記録されており、これらの SNMP アラートが誤検知ではなく、実際に発生している事象であることを示しています。

    vpxd.log

    vpxd-8220.log:YYYY-MM-DD|HH:MM.523Z warning vpxd[08112] [Originator@6876 sub=InvtHostCnx opID=HostSync-host-12##48-1f7bd43] Exception occurred during host sync; Host communication failed; [vim.HostSystem:host-12##48, esxi.host.name], e: N5Vmomi5Fault17HostCommunication9ExceptionE (Fault cause: vmodl.fault.HostCommunication)

    vpxd-8221.log:YYYY-MM-DD|HH:MM.420Z warning vpxd[14267] [Originator@6876 sub=InvtHostCnx opID=HostSync-host-12##48-2af6c7f6] Exception occurred during host sync; Host communication failed; [vim.HostSystem:host-12##48, esxi.host.name], e: N5Vmomi5Fault17HostCommunication9ExceptionE (Fault cause: vmodl.fault.HostCommunication)

Environment

VMware ESXi 8.0

Cause

この問題は、ESXi ホスト上の vpxa サービスが、リクエストを処理せずにホスト側からの TCP 接続を即座にリセットすることによって発生します。

例: ESXi ホストにおける通信失敗を示すログの抜粋は以下の通りです。

/var/run/log/envoy-access.log

YYYY-MM-DD|HH:MM.552Z In(166) envoy-access[2098915]: POST /hgw/host-74866/vpxa 503 upstream_reset_before_response_started{connection_termination} UC 1157 88 gzip 0 - - 10.###.##.43:47328 HTTP/1.1 TLSv1.2 10.###.##.23:443 127.0.0.1:29513 HTTP/1.1 - 127.0.0.1:8089 "HB-host-74866@27398-###0f85" "GetChangesVpxa"

成功したリクエストと失敗したリクエストの間隔は、約 49 〜 50 秒です。

YYYY-MM-DD|HH:MM.961Z POST /vpxa 200 ...
YYYY-MM-DD|HH:MM964Z POST /vpxa 200 ...
YYYY-MM-DD|HH:MM.969Z GET /vpxa/service 200 ...
YYYY-MM-DD|HH:MM.552Z POST /hgw/host-74866/vpxa 503

これは既知の事象であり、将来のリリースで永続的な修正が予定されています。

Resolution

この警告メッセージは ESXi の動作に影響を与えないため、無視しても問題ありません。

回避策:

  1. 本現象を軽減するために、ESXi ホストの vpxa 設定における "read_timeout" をより大きな値に変更することができます。以下のコマンドを使用してください。[参考:vpxa の "vmacore/http/read_timeout_ms" のデフォルト値は 45 秒(45000 ms)です]

    # configstorecli config current set -c esx -g services -k vpxa -p vmacore/http/read_timeout_ms -v 120000

  2. 設定を有効にするには、各 ESXi ホストで vpxa サービスの再起動が必要です(これによるホストや仮想マシンのダウンタイムは発生しません)。

    # /etc/init.d/vpxa restart

注: 対象の ESXi ホストでこれまで一度も vpxa の設定を変更したことがない場合、上記の方法では適用されないことがあります。
その場合は、以下の手順に従って変更を行ってください。

  1. vpxa の設定を JSON ファイルにエクスポートします。

    # configstorecli config current get -c esx -g services -k vpxa -o tmp.json

  2. JSON ファイルを編集し、以下の内容を含めます。
    {
       "vmacore": {
          "http": {
             "read_timeout_ms": 120000
          }
       }
    }

    補足: 他に既存の設定がある場合は、それらの行を上書きしないでください。代わりに、既存のセクションに設定を追加してください。
    例:
    {
       "log": {
          "level": "verbose"
       },
       "vmacore": {
          "http": {
             "read_timeout_ms": 120000
          }
       }
    }
  3. 編集した JSON ファイルをインポートします。

    # configstorecli config current set -c esx -g services -k vpxa -j tmp.json

    補足: インポートされた設定は、以下のコマンドで確認できます。

    # configstorecli config current get -c esx -g services -k vpxa

  4. vpxa を再起動します。

    # /etc/init.d/vpxa restart