症状
一般に接続問題と呼ばれるデータ関連の問題は、次のいずれかの症状として現れます。
- Management サーバーの起動時に障害が生じた
- デプロイに失敗した
- UI のデータストアがエラーである
- Message Processor と Management サーバーの間のデータセンター接続に問題が発生した
- Analytics にデータがない
これらの問題は、ZooKeeper インフラストラクチャには関連しませんが、ZooKeeper ツリーで使用できる無効なデータに関連しています。
考えられる原因
通常この問題は、次の原因によるものです。
- サイレント インストール ファイルが間違っていたため、インストール中にノードが正しくないリージョンまたはポッド名に接続されました。
- コンポーネントのインストールに失敗した場合、コンポーネントを複数回にわたり再インストールすると重複して登録されます。このような場合、間違った UUID の登録を削除するにはクリーンアップが必要です。
診断
診断するには、次のデータを収集します。
- 各ノードのホスト名と IP アドレス、ノードに存在する Apigee コンポーネントを持つトポロジ ダイアグラム。Apigee インストールのプロファイルを使用した、次のようなマッピングが最も役立ちます。
DC-1 DS: ip1 hostname DS: ip2 hostname DS: ip3 hostname MS: ip4 hostname RMP: ip5 hostname RMP: ip6 hostname SAX: ip7 hostname DC-2 DS: ip8 hostname DS: ip9 hostname DS: ip10 hostname MS: ip11 hostname RMP: ip12 hostname RMP: ip13 hostname SAX: ip14 hostname
- ZooKeeper ツリー出力を生成して接続を確認します。
/opt/apigee/apigee-ZooKeeper/contrib/zk-tree.sh > zk-tree-output.txt
- ZooKeeper ツリーのデータを簡単に確認するには、次の管理 API 呼び出しを実行して、各データセンターのサーバー UUID のリストを取得します。
ゲートウェイ サーバー
curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=gateway®ion=region-name"
中央サーバー
curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=central®ion=region-name"
Analytics サーバー
curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=analytics®ion=region-name"
- 各コンポーネントの UUID を確認し、ZooKeeper ツリーに表示されているものと一致することを確認します。
ルーター
curl 0:8081/v1/servers/self/uuid
Message Processor
curl 0:8082/v1/servers/self/uuid
Qpid エージェント
curl 0:8083/v1/servers/self/uuid
Postgres エージェント
curl 0:8084/v1/servers/self/uuid
- UUID データを使用して、ステップ 2 で生成された ZooKeeper ツリー出力を検索し、コンポーネントの接続を確認し、間違った UUID のコンポーネントの重複登録を削除します。
- こちらにリストされている管理 API 呼び出しを使用して、データストアの登録を修正します。ルーター、Message Processor、Postgres、Qpid などのコンポーネントは、起動時に ZooKeeper に自己登録します。
解決策
ZooKeeper のデータ関連の問題は、ケースバイケースで対処する必要があります。ZooKeeper のデータは、Apigee Edge トポロジに基づいており、ユースケースごとに異なります。問題の症状のうち 1 つでも見たことがあれば、前のセクションで説明したようにデータを収集し、Apigee サポートに連絡してください。