# Konfigurieren der ELK-Dienste

Verfügbar in...

* Cloud API Services Platform
* Cloud Big Data
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Integration
* Cloud Data Management Platform
* Cloud Pipeline Designer Standard Edition
* Data Fabric

Sie müssen die verschiedenen Dienste konfigurieren, damit diese miteinander kommunizieren können.

Der ELK-Stack umfasst 4 Dienste:

* Filebeat: Bridge zwischen der Remote Engine Gen2 und dem ELK-Stack und inbesondere Logstash.
* Logstash: Pipeline zur Datenverarbeitung, die Daten erfasst, transformiert und an Elasticsearch übergibt.
* Elasticsearch: Such- und Analyse-Engine.
* Kibana: Benutzeroberfläche zur Visualisierung der Elasticsearch-Daten und Navigation des Elastic-Stacks.

Gehen Sie vor wie folgt, um die Verknüpfung zwischen jedem Dienst zu konfigurieren:

## Prozedur

1. Legen Sie in der Datei filebeat/filebeat.yml den Pfad Ihres Logstash-Servers fest, in diesem Beispiel logstash:5044, da sich Filebeat und Logstash im selben Docker-Netzwerk befinden.
   ```
   filebeat.autodiscover:
     providers:
       - type: docker
         templates:
           - condition:
               contains:
                 docker.container.labels.filebeat_ingest: "true"
             config:
               - type: container
                 paths:
                   - /var/lib/docker/containers/${data.docker.container.id}/*.log
                 json.keys_under_root: true
                 json.add_error_key: true
                 json.message_key: message
                 ignore_older: 10m

   output:
     logstash:
       hosts: [ 'logstash:5044' ]
   ```

   Diese Konfiguration ermöglicht Filebeat, die Logs von Remote Engine Gen2 zu verarbeiten und sie zur Analyse an Logstash zu senden.

   Darüber hinaus wird in der Datei filebeat/filebeat.yml festgelegt, wie die Logs erkannt werden. In diesem Fall wird in den Containern mit der Bezeichnung filebeat\_ingest: true nach den Logs gesucht.
2. Stellen Sie in der Datei logstash.conf sicher, dass der Port input Ihrem Logstash-Server entspricht und mit dem in der Datei filebeat.yml definierten Port übereinstimmt.
3. Stellen Sie in logstash.conf den Wert für output auf elasticsearch ein und legen Sie den Host und Port Ihres Elasticsearch-Servers fest, in diesem Beispiel 9200.
   ```
   input {
     beats {
       port => 5044
     }
   }

   output {
       elasticsearch {
         hosts => '${ELASTICSEARCH_HOSTS:elasticsearch:9200}'
         index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
     }
   }
   ```

   Diese einfache Eingangs- und Ausgangskonfiguration ermöglicht Kibana den Aufbau einer Verbindung zur Elasticsearch-Host/Port-Kombination und das Lesen der eingehenden Daten von Logstash.