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:
- 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". - verfügbare Parameter/Funktionen im ElasticSearch:
http://127.0.0.1:8041/_cat prüfen, ob alle Shards geladen sind:
http://127.0.0.1:8041/_cat/shards?vGröße der ElasticSearch-Datenbank zu erhalten bzw. Größe der Indexe:
http://127.0.0.1:8041/_cat/indices?vStatus 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?vErmitteln, wie viele Nodes/Knoten/Dienste eine ElasticSearch-Datenbank bilden;
http://127.0.0.1:8041/_cat/nodes?v- 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 - Status + Verteilung im Cluster bzw. der Nodes;
http://127.0.0.1:8041/_cluster/state - konfigurierte Parameter / Settings:
http://127.0.0.1:8041/_settings - 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:
- Informationen über unassigned Shards:
http://127.0.0.1:8041/_cluster/allocation/explain?pretty - Sehr ausführliche Cluster Informationen:
http://127.0.0.1:8041/_cluster/state?pretty - Übersicht über den Cluster:
http://127.0.0.1:8041/_cluster/health?pretty - ausführlicher Status der nodes im Cluster:
http://127.0.0.1:8041/_cluster/stats?human&pretty
HeapSpace / Last / Troubleshooting:
- Heap Space:
http://127.0.0.1:8041/_cat/nodes?h=heap*&v - 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:
- 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:
- Anzahl an Objekten und Größe:
http://127.0.0.1:8041/_cat/indices?v - 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 - 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"
Verwandte Artikel