この情報を使用して、クラスタ環境の Elasticsearch および RabbitMQ の問題をトラブルシューティングします。監査、レポート、ディレクトリ同期ログに使用される検索および分析エンジンである Elasticsearch と メッセージ ブローカの RabbitMQ が、VMware Identity Manager 仮想アプライアンスに組み込まれています。

Elasticsearch のトラブルシューティング

Elasticsearch の健全性は、VMware Identity Manager アプライアンスで次のコマンドを使用して確認できます。

curl 'http://localhost:9200/_cluster/health?pretty'

このコマンドによって、次のような結果が返されます。

         {
  "cluster_name" : "horizon",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 20,
  "active_shards" : 40,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0
}

Elasticsearch が正しく起動しないか、ステータスが赤色の場合は、次の手順でトラブルシューティングしてください。

  1. ポート 9300 が開いていることを確認します。

    1. クラスタ内のすべてのノードの IP アドレスを /usr/local/horizon/scripts/updateiptables.hzn ファイルに追加し、ノードの詳細を更新します。

      ALL_IPS="node1IPadd node2IPadd node3IPadd"

    2. クラスタ内のすべてのノードで次のスクリプトを実行します。

      /usr/local/horizon/scripts/updateiptables.hzn

  2. クラスタのすべてのノードで Elasticsearch を再起動します。

    service elasticsearch restart

  3. ログで詳細を確認します。

    cd /opt/vmware/elasticsearch/logs

    tail -f horizon.log

RabbitMQ のトラブルシューティング

RabbitMQ の健全性は、VMware Identity Manager アプライアンスで次のコマンドを使用して確認できます。

rabbitmqctl cluster_status

このコマンドによって、次のような結果が返されます。

Cluster status of node 'rabbitmq@node3' ...
[{nodes,[{disc,['rabbitmq@node2','rabbitmq@node3']}]},
 {running_nodes,['rabbitmq@node3']},
 {cluster_name,<<"rabbitmq@node2.example.com">>},
 {partitions,[]},
 {alarms,[{'rabbitmq@node3',[]}]}]

RabbitMQ が起動しない、あるいは、健全性を確認するための URL https://hostname/SAAS/API/1.0/REST/system/health/ で "MessagingConnectionOk":"false" が表示される場合、次の手順でトラブルシューティングします。

  1. ポート 4369、5700、25672 が開いていることを確認します。ポートを開くには:

    1. 次のコマンドを使用してファイルを作成します。

      touch /usr/local/horizon/conf/flags/enable.rabbitmq

    2. 次のスクリプトを実行します。

      /usr/local/horizon/scripts/updateiptables.hzn

  2. RabbitMQ を再起動します。

    1. 既存の rabbitmq プロセスをすべて終了させます。

    2. rabbitmqctl stop

    3. rabbitmq-server -detached

  3. RabbitMQ が適切に起動しない場合は、VMware Identity Manager サービスを再起動する必要があります。

    service horizon-workspace restart