Logstash Pipelines

Logstash wird mit einer angepassten Konfiguration ausgeliefert, die den Anforderungen des service.monitor entspricht. Dazu gehören mehrere Daten-Pipelines und die zentrale Konfigurationsdatei pipelines.yml. Im Auslieferungszustand von Logstash liegt die Datei nicht vor und durch die Nutzung der mitgelieferten pipelines.yml können Sie Logstash mit multiplen Pipelines nutzen.

Typische Ablageorte der Dateien sind:

Datei oder Ordner Linux Windows

pipelines.yml

/etc/logstash/pipelines.yml

[Installationsverzeichnis]/config

ct-arcgis

/etc/logstash/conf.d/ct-arcgis

[Installationsverzeichnis]/config/ct-arcgis

ct-[n]

/etc/logstash/conf.d/ct-[n]

[Installationsverzeichnis]/config/ct-[n]

Die Dateien der Auslieferung müssen je nach Betriebssystem und Installationsart in die oben genannten Verzeichnisse kopiert. Je nach Bedarf können einzelne Ordner übersprungen werden, wenn die Datenquelle nicht eingebunden werden soll. Danach muss die Datei pipelines.yml editiert werden. Die Variable PIPELINES_PATH muss in einer Systemvariablen gesetzt sein.

pipelines.yml
- pipeline.id: ct-analytics
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-analytics/*.conf"
- pipeline.id: ct-fme
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-fme-jobs/*.conf"
- pipeline.id: ct-fme-log
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-fme-log/*.conf"
- pipeline.id: ct-fme-jobroutes
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-fme-jobroutes/*.conf"
- pipeline.id: ct-log
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-log/*.conf"
- pipeline.id: ct-monitoring
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-monitoring/*.conf"
- pipeline.id: ct-arcgis-logfile
path.config: "${PIPELINES_PATH:/etc/logstash/conf.d}/ct-arcgis-logfile/*.conf"

Wenn z.B. nur die Pipelines ct-log, ct-argis nur ct-monitoring betrieben werden sollen, so müssen alle anderen Pipelines aus der Datei entfernt oder per # auskommentiert werden.

Logstash verwendet im Rahmen der Nutzung des service.monitor pro Daten-Pipeline einen TCP/UDP-Port (z.B. 12201, 12202, 12203). Bitte überprüfen Sie, ob der Zugriff auf diesen Port von außen (je nach Anwendungszweck) durch Ihre Firewall gestattet ist!

Nutzung von Variablen

In den Dateien der Logstash-Pipelines müssen normalerweise keine inhaltlichen Änderungen vorgenommen werden, da diese dynamisch zu Systemvariablen auflösen können.

Dazu stehen unterschiedliche Optionen zur Verfügung

  1. Alle system-spezifischen Werte vor dem Starten des Logstash-Prozesses in Systemvariablen übergeben.

    install linux environment variables
    Setzung der Logstash Variablen über /etc/default/logstash

    Eine gute Methode ist die Setzung über die Datei /etc/default/logstash. Alternativ können diese Werte ähnlich wie in diesen Skripten gesetzt werden: bin/logstash_env.bat und bin/logstash_env.sh.

  2. Windows-Nutzer können diese Werte auch über NSSM setzen.

Variablenübersicht

Variable Default Erklärung

PIPELINES_PATH

/etc/logstash/conf.d

Angabe des Dateisystem-Ordners in dem die service.monitor Logstash Pipelines liegen

ES_HOST

localhost

Angabe der Adresse von Elasticsearch, z.B. "127.0.0.1" oder "https://elastic.server.example/extrapath"

ES_USER

<leer>

Nutzername für die Authentifizierung bei Elasticsearch

ES_PASSWORD

<leer>

Passwort für die Authentifizierung bei Elasticsearch

CA_CERT_PATH

<leer>

Absoluter Pfad zu einer .cer- oder .pem -Datei, um das Zertifikat des Servers zu validieren.

FME_SERVER_BASE_URL

<leer>

URL des Hosts auf dem FME läuft, inkl. Protokoll, z.B.: https://fme.server.example/

FME_SERVER_TOKEN

<leer>

FME Flow Token zur Authentifizierung des Requests bei FME

FME_SERVER_LIMIT

1000

Anzahl der Jobs, die pro Request bei FME Flow abgefragt werden sollen

FME_SERVER_SCHEDULE

6h

Polling-Intervall für FME-Server Jobs

Die Angabe eines validen Pfades für CA_CERT_PATH ist verpflichtend. Falls lediglich eine HTTP Verbindung zwischen Logstash und Elasticsearch etabliert wird, verwenden Sie hier den Pfad auf das Dummy-Zertifikat, welches Teil der Auslieferung ist, siehe /resources/analytics/elasticsearch/logstash/dummyCA.crt.

Im Falle eine HTTPS Verbindung verwenden Sie an dieser Stelle die .cer- oder .pem- Datei, um das Zertifikat des Servers zu validieren.