# Configurer les services ELK

Disponible dans...

* 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

Vous devez configurer les différents services afin qu'ils puissent communiquer entre eux.

La pile ELK se compose de 4 services :

* Filebeat : Pont entre le Moteur distant Gen2 et la pile ELK, plus précisément Logstash.
* Logstash : Pipeline de traitement de données ingérant les données, les transformant et les envoyant à Elasticsearch.
* Elasticsearch : Moteur de recherche et d'analytique.
* Kibana : Interface visualisant vos données Elasticsearch et navigant à travers la pile Elastic.

Pour configurer le lien entre chaque service :

## Procédure

1. Dans le fichier filebeat/filebeat.yml, configurez l'emplacement de votre serveur Logstash, logstash:5044 dans cet exemple, puisque Filebeat et Logstash sont sur le même réseau Docker.
   ```
   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' ]
   ```

   Cette configuration active Filebeat afin de consommer les logs de Moteur distant Gen2 et de les envoyer vers Logstash pour parsage.

   Le fichier filebeat/filebeat.yml configure également la manière d'explorer les logs. Dans ce cas, cela s'effectue par une recherche des logs des conteneurs ayant le libellé filebeat\_ingest: true.
2. Dans le fichier logstash.conf, assurez-vous que le port d'entrée input spécifié correspond à votre serveur Logstash et qu'il correspond au port configuré dans le fichier filebeat.yml.
3. Toujours dans le fichier logstash.conf, configurez la valeur de output comme elasticsearch et spécifiez l'hôte et le port de votre serveur Elasticsearch, 9200 dans cet exemple.
   ```
   input {
     beats {
       port => 5044
     }
   }

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

   Cette configuration simple de l'entrée et de la sortie permet à Kibana de se connecter à la combinaison hôte/port Elasticsearch et de lire les données provenant de Logstash.