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
-
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
.
-
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.
-
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.