Elasticsearch + Kibana

Unsere Managed Server können zusammen mit Elasticsearch und Kibana bestellt werden. Konfigurationsempfehlungen für Ihren Managed Server finden Sie hier: https://www.providerdienste.de/de/managed-server/elasticsearch/

Beide Dienste werden mit der Standardkonfiguration ausgeliefert. Links zur Dokumentation finden Sie unter dem Abschnitt Dokumentation.

Elasticsearch

Der Elasticsearch Dienst wird lokal betrieben und ist über Port 9200 erreichbar. Von außen ist Elasticsearch nicht erreichbar. Ein Zugriff auf Elasticsearch kann zum Beispiel per SSH und dem tool cURL erfolgen:

curl -X GET "localhost:9200/_cluster/health?wait_for_status=yellow&timeout=50s&pretty"
{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 4,
  "active_shards" : 4,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Fehlermeldunge „index read-only“

Bei Elasticsearch kann es dazu kommen, dass Indizes nur noch „read-only“ gesetzt sind. Dies äußert sich durch Meldungen wie

ClusterBlockException[blocked by: [FORBIDDEN/1/index read-only (api)];]

Ursache dafür ist in der Regel zu geringer freier Speicherplatz auf dem Server. Elasticsearch schaltet ab einer Speicherplatzbelegung von 85% in den „read-only“ Modus.

Ein Upgrade des Speicherplatzes Ihres Managed Servers können Sie jeder Zeit per Mail bestellen.

Die Limits bei Elasticsearch lassen sich anpasse. Entscheidend dafür sind die Parameter cluster.routing.allocation.disk.watermark.low, cluster.routing.allocation.disk.watermark.high und cluster.routing.allocation.disk.watermark.flood_stage:

curl -XPUT 'localhost:9200/_cluster/settings' -H 'Content-Type:
application/json' -d'
{
    "transient": {
        "cluster.routing.allocation.disk.watermark.low": "10gb",
        "cluster.routing.allocation.disk.watermark.high": "5gb",
        "cluster.routing.allocation.disk.watermark.flood_stage": "3gb",
        "cluster.info.update.interval": "1m"
    }
}'

Diese Werte sind beispielhaft und sollten an den Managed Server angepasst werden. Die Einstellungen sind nicht persistent. Bei einem Neustart von Elasticsearch würden diese zurückgesetzt. Für eine persistente Änderung auf Ihrem Managed Server senden Sie uns bitte eine Mail an info@providerdienste.de.

Den „read-only“ Modus kann mit

curl -XPUT '127.0.0.1:9200/_settings?pretty' -H 'Content-Type:
application/json' -d'
{
    "index.blocks.read_only_allow_delete": null
}'

zurückgesetzt werden.

Die offizielle Dokumentation dazu finden Sie hier: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html#disk-based-shard-allocation

Kibana

Kibana wird nur lokal betrieben und nutzt den Port 5601. Um Kibana von außen erreichbar zu machen wird ein Apache Proxy verwendet. Dazu müssen Sie in der Verwaltungsoberfläche Ihres Managed Servers eine Nutzer Authentifizierung für Kibana einrichten. Legen Sie bei einem beliebigen Nutzer eine .htuser Datei an. Dies geht per SSH und dem folgenden Befehl:

/usr/local/pd-admin2/httpd-2.4/bin/htpasswd -c ./.htuser user

Den Pfad zu dieser Datei geben Sie dann unter Einstellungen => Serverkonfiguration => Pfad zur .htusers für Kibana-Proxy an.

Dokumentation

Die offizielle Dokumentation zu Elasticsearch und Kibana finden Sie hier:

https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

https://www.elastic.co/guide/en/kibana/current/index.html