Elasticsearch Stack per Python vorbereiten

Die Einrichtung von Indizes, Templates, Ingest Pipelines, Index Lifecycle Policies und Dashboard-Objekten erfolgt am besten über die mitgelieferten Python-Skripte, weil ein Großteil des manuellen Aufwandes eingespart werden kann.

python-Umgebung und Wheel-Package

Die Skripte werden als Wheel-Dateien bereitgestellt und müssen einem lokalen Python3-Environment zur Verfügung gestellt werden. Der Installationsort von Elastic muss aus Sicht der Python-Skripte per http erreichbar sein. Eine detaillierte Beschreibung der Vorgehensweise befindet sich in resources/analytics/python/monitor_setup/README.md.

Konfiguration der Parameter

Nachdem die Umgebung einsatzbereit ist, muss die vorliegende config.json mit den Zugangsdaten der Elastic-Umgebung konfiguriert werden.

Konfigurationsdatei für die Elastic-service.monitor-Einrichtung
{
  "common": {
    "local_imports_dir": "<PATH TO resources/analytics/elasticsearch>",
    "overwrite_objects": false
  },
  "elasticsearch": {
    "url": "http://elastic-host.example.com:9200",
    "username": "elastic",
    "password": "<elastic_pwd>"
  },
  "kibana": {
    "url": "http://kibana-host.example.com:5601"
  }
}

Das Skript liest die in der Installation vorliegenden Konfigurationsdateien (local_imports_dir) und sendet diese zu Elastic und Kibana.

Ausführen des Skriptes

Das Python-Skript kann dann über die Kommandozeile in der Python-Umgebung ausgeführt werden. Sollen nur die Objekte installiert werden, die für eine Einbindung von FME Flow relevant sind, so wird zusätzlich der Parameter t verwendet.

Kommandozeilenaufruf des Python-Skriptes
python -m monitor_setup -c C:\data\config.json -a full
Kommandozeilenaufruf des Python-Skriptes für FME only
python -m monitor_setup -c C:\data\config.json -a full -t FME

Die Kommandozeilenausgabe informiert dann über den Erfolg der Ausführung.