Elasticsearch + Docker Compose : Partie 2 : Agent élastique, serveur de flotte, APM

Publié le 22/11/2023

« Voir toutes les conférences Contactez-nous
Elasticsearch + Docker Compose: Part 2 - Elastic Agent, Fleet Server, APM

Introduction

Code sur Github: Elasticsearch + Docker Partie 2

Nous allons installer Elasticsearch, Kibana, Elastic Agent, Fleet Server et APM avec Docker Compose.

Cette vidéo suppose que vous savez déjà configurer Elasticsearch, Kibana, Beats et Logstash sans utiliser de conteneur. Sinon, vous pouvez va ici configuration. Et vous devriez comprendre Agent élastique, Serveur de flotte et APM.

Exigences

Étape 1 - Vérifiez le code [02:30]

Arrêtez les conteneurs Docker précédemment en cours d'exécution avec la commande ci-dessous ;

docker-compose down --remove-orphans --volumes

Créer un nouveau répertoire pour cette partie 2

mkdir ../es2 cd ../es2

Initialiser un nouveau dépôt git.

git init; git remote add origin https://github.com/evermight/elastic-stack-docker-part-two.git; git fetch -a; git checkout main

Répertoriez tous les fichiers du répertoire.

ls -alh

Créez avec la commande docker compose ci-dessous.

docker-compose up --build -d

Exécutez la commande ci-dessous pour obtenir les détails de tous les conteneurs :

docker ps -a

Obtenez l'adresse IP de votre serveur car elle sera utilisée comme URL vers les conteneurs Docker.

hostname -i

Visitez la page Kibana avec http://<YOUR IP ADDRESS>:5601. Connectez-vous ensuite avec le nom d'utilisateur et le mot de passe Elastic présents sur le .env déposer

username: elastic password: changeme

alt text Page de connexion Kibana

Étape 2 - Confirmer que les services sont opérationnels [06:45]

Aller à Fleet > settings, et cliquez sur l'icône du stylo éditable. Reportez-vous à l'image ci-dessous ;

alt text Modifier la sortie du serveur de flotte

Pour obtenir l’empreinte du certificat, exécutez les commandes suivantes :

docker cp es-cluster-es01-1:/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/.

et exécutez ce qui suit pour obtenir l'empreinte du certificat.

openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g

Utilisez la commande ci-dessous pour générer le certificat ;

cat /tmp/ca.crt

Une fois que vous avez le texte du certificat, nous l'ajouterons à un format yml et saisirons toutes ces informations dans l'écran Paramètres de la flotte de précédemment.

ssl: certificate_authorities: - |

et ajoutez le contenu et l'espace en conséquence comme indiqué dans l'image ci-dessous.

alt text Certificat au style Yml

Mettez à jour les champs de votre Kibana comme indiqué dans l’image ci-dessous ;

alt text Modifications du serveur de flotte

puis cliquez sur Enregistrer et appliquer les paramètres, puis cliquez sur Enregistrer et déployer. Retournons maintenant à la Flotte > Agent et actualisez l'onglet. Vous devriez voir un affichage similaire à l'image ci-dessous, indiquant qu'Elastic Agent, AM et Fleet Server sont opérationnels.

alt text Exécution réussie de l'agent élastique, de l'APM et du serveur de flotte

Pour voir les services APM, rendez-vous sur Observabilité > APM > Services, et vous devriez voir quelque chose de similaire à l'image ci-dessous

alt text Succès APM

Pour afficher les journaux de l'application Web Python, utilisez la commande ci-dessous ;

docker logs es-cluster-webapp-1

Vous devriez obtenir un résultat similaire à l’image ci-dessous ;

alt text Journaux WebApp

Accédez à votre navigateur et exécutez l'URL http://0.0.0.0:8000L'application Web devrait ressembler à l'image ci-dessous ;

alt text Site Web WebApp

Cliquez sur les boutons de génération présents à cet endroit pour que l'application web envoie un message à Elastic.Observabilité > APM > Services > mon service Python > aperçu et appuyez sur Actualiser pour afficher les demandes effectuées. Voici une capture d'écran :

alt text Requêtes my_python_service