Die nachfolgend dargestellten Informationen bieten eine Unterstützung für die Behebung von Problemen mit Elasticsearch in einer Cluster-Umgebung. Elasticsearch, eine Such- und Analyse-Engine, die für die Überprüfung, für Berichte und für Protokolle der Verzeichnissynchronisierung verwendet wird, ist in die virtuelle VMware Identity Manager-Appliance eingebettet.

Fehlerbehebung bei Elasticsearch

Um den Status von Elasticsearch zu überprüfen, müssen Sie das curl-Tool verwenden Wenn curl nicht auf dem Windows-Computer installiert ist, können Sie von einem Linux- oder Mac-Computer aus die Firewall für die externe Abfrage mit curl http://<hostname>:9200/_cluster/health?pretty aktivieren.

Der Befehl sollte ein Ergebnis ähnlich dem nachfolgend dargestellten zurückgeben.

         {
  "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
}

Wenn Elasticsearch nicht korrekt startet oder der Status „rot“ angezeigt wird, führen Sie die im Folgenden dargestellten Schritte zur Fehlerbehebung durch.

  1. Stellen Sie sicher, dass der Port 9300 geöffnet ist.

    1. Aktualisieren Sie die Knotendetails durch Hinzufügen der IP-Adressen aller Knoten im Cluster zur Datei \usr\local\horizon\scripts\updateiptables.hzn:

      ALL_IPS="node1IPadd node2IPadd node3IPadd"

    2. Führen Sie das nachfolgend dargestellte Skript auf allen Knoten im Cluster aus.

      \usr\local\horizon\scripts\updateiptables.hzn

  2. Starten Sie Elasticsearch auf allen Knoten im Cluster erneut.

  3. In den Protokollen finden Sie zusätzliche Details.

    cd /opt/vmware/elasticsearch/logs

    Sie können entweder Powershell oder NotePad++ mit dem Plug-In zur Dokumentüberwachung verwenden, um die Protokolldateien zu überwachen. In Powershell lautet die Syntax: Get-Conent myTestLog.log-Wait.