Allgemeines: nützliche Links und URLs

Allgemeines: nützliche Links und URLs

Hier werden URL's aufgelistet, um Informationen des Elasticsearch zu erhalten. Je nachdem, wie die ElasticSearch-Services konfiguriert sind, ist Localhost möglich. Sobald aber IP-Adressen konfiguriert sind, kann per Localhost nicht aufgerufen werden. Es muss die IP-Adresse verwendet werden. Normalerweise geht auch 127.0.0.1, besser aber die IP des Server verwenden, auf dem ElasticSearch läuft. 

Andere Server können die URLs nur aufrufen, wenn sie - abhängig von der ElasticSearch-Version - in der Whitelist bzw. Security.subnet stehen. 
Ab enaio 10 gibt es Benutzer + Passwort, so dass die URL von überall aufgerufen werden könnte. 


Nachfolgend:



Allgemeines: 

  1. generelle Prüfung, ob der Elasticsearch auf Port 8041 läuft: 
    http://127.0.0.1:8041 
    Es sollte zurückkommen, Name des Clusters, Version, Erstelldatum und der Tag "You know, for search". 

  2. verfügbare Parameter/Funktionen im ElasticSearch:
    http://127.0.0.1:8041/_cat 

  3. prüfen, ob alle Shards geladen sind: 
     http://127.0.0.1:8041/_cat/shards?v 

  4. Größe der ElasticSearch-Datenbank zu erhalten bzw. Größe der Indexe: 
    http://127.0.0.1:8041/_cat/indices?v 

  5. Status des ElasticSearch:
    grün = alles ok, yellow = es gibt Warnungen und Meldungen, die geprüft werden müssen, rot = Fehler bzw. nix geht mehr
    http://127.0.0.1:8041/_cat/health?v

  6. Ermitteln, wie viele Nodes/Knoten/Dienste eine ElasticSearch-Datenbank bilden;
    http://127.0.0.1:8041/_cat/nodes?v

  7. Status der Shard-Initialisierung prüfen oder den Stand des Relocation (bei Replikation oder bei mehr als 1 Node):
    http://127.0.0.1:8041/_cat/recovery?v 

  8. Status + Verteilung im Cluster bzw. der Nodes;
    http://127.0.0.1:8041/_cluster/state 

  9. konfigurierte Parameter / Settings: 
    http://127.0.0.1:8041/_settings 

  10. Alias-Namen abfragen:
    http://127.0.0.1:8041/_cat/aliases
    Zu erwarten ist, dass dort enaioblue_0 und enaioblue zu sehen sind. Bsp.: 

Cluster-Informationen:

  1. Informationen über unassigned Shards:
    http://127.0.0.1:8041/_cluster/allocation/explain?pretty


  2. Sehr ausführliche Cluster Informationen:
    http://127.0.0.1:8041/_cluster/state?pretty  

  3. Übersicht über den Cluster:
    http://127.0.0.1:8041/_cluster/health?pretty   

  4. ausführlicher Status der nodes im Cluster:
    http://127.0.0.1:8041/_cluster/stats?human&pretty  

HeapSpace / Last / Troubleshooting:  

  1. Heap Space:  
    http://127.0.0.1:8041/_cat/nodes?h=heap*&v

  2. prüfen, ob es unassigned Shards gibt, also Shards, die nicht geladen werden können: 

    http://127.0.0.1:8041/_shard_stores?pretty
    http://127.0.0.1:8041/_cat/allocation/explain?pretty

Dokument-Status / Dokument-Infos: 

  1. Endpunkt um Daten zu einer OSID im ES als JSON zu erhalten
    enaio 8.1 bis 8.50: http://127.0.0.1:8041/enaioblue/document/<OSID>
    ab enaio 9.0:  http://127.0.0.1:8041/enaioblue/_doc/<OSID>

Mengen ermitteln:

  1. Anzahl an Objekten und Größe:
    http://127.0.0.1:8041/_cat/indices?v 
  2. Anzahl Documente (= alle Ordner, Register und Dokumente):
    je nach enaio Version kann es auch sein, dass der Alias enaioblue nicht verfügbar ist und man anstelle enaioblue eintragen muss enaioblue_0
    http://127.0.0.1:8041/enaioblue/_count 
    http://127.0.0.1:8041/enaioblue_0/_count 
  3. Wer es noch detaillierter benötigt (siehe auch Volltextmigration bei Anzahl ermitteln): Wie kann man den Volltext beim Update migrieren? Welche Szenarien gibt es zum Vervollständigen? (mit Updatematrix)
    Ein Tool organisieren, mit dem man die API des ElasticSearch ansprechen kann, z. Bsp. Postman, AdvancedRestClient, SenseClient, Curl ...

    POST http://127.0.0.1:8041/enaioblue/_search
    Body: 
    {"_source": false,
    "size": 0,"query": {    "bool": {       "filter": [
            {            "exists": {                "field": "fulltextwanted"             }          },
            {             "exists": {                "field": "inactivevariant"             }          },
            {             "exists": {                "field": "recycled"             }          }
           ]    }},
    "aggs": {     "types": {       "terms": { "field": "category" }     }   }
    }

    Rückgabe ist eine Übersicht mit der Anzahl der vorhandenen Ordner, Register und Dokumente.
    Beispiel: Auszug aus der Rückgabedatei: 

    "buckets": [
    { "key": "register", "doc_count": 10626775 },
    { "key": "document", "doc_count": 4885632 },
    { "key": "folder", "doc_count": 2759736 }

Vorschau / Infos von DEV: 

ab enaio 10 soll es möglich sein mehrere Elasticsearch zu konfigurieren in der aplication-es.yml. 
laut DEV: Das kommt erst in Index/Search Versionsfix 10.0.12, das haben wir diesen Januar implementiert, aber es ist irgendwie nicht in die QS gegangen. Es ist also noch nicht in der aktuellen 10.0 Version drin.

Auszug aus der config:

## FYI hosts parameter has precedence over host/http.port
#elasticsearch:
# host: localhost
# http.port: 8041
# hosts: <host1>:<port1>,<host2>:<port2>

Also man braucht einen neuen key "hosts" und das Trennzeichen ist ",". Und "hosts" ersetzt "host" und "port"


Tipp: Falls jemand die URLs von ElasticSearch-Seiten aufruft oder dort nach Infos sucht: Port 8041 bei uns entspricht Port 9200 bei ElasticSearch.

Verwandte Artikel