Elasticsearch 9
Elasticsearch est un moteur distribué de recherche et d’analyse RESTful basé sur Apache Lucene. Il est utilisé pour la recherche plein texte, l’agrégation de journaux, la surveillance applicative et l’analyse de données en temps réel.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Elasticsearch | 9.x |
| Ubuntu | 24.04 LTS |
Variables d’environnement
Section intitulée « Variables d’environnement »Vous pouvez définir ces valeurs lors du déploiement d’Elasticsearch depuis la marketplace. Laissez un champ vide pour générer automatiquement une valeur aléatoire sécurisée.
| Variable | Description |
|---|---|
ELASTIC_PASSWORD | Mot de passe du superutilisateur elastic |
Bien démarrer
Section intitulée « Bien démarrer »1. Connectez-vous à votre VM
Section intitulée « 1. Connectez-vous à votre VM »ssh ubuntu@<your-vm-ip>2. Attendez la configuration au premier démarrage
Section intitulée « 2. Attendez la configuration au premier démarrage »Au premier démarrage, un script de configuration s’exécute automatiquement. Il:
- efface les données préexistantes afin que le cluster s’initialise proprement;
- définit le nom du cluster selon le nom d’hôte de la VM;
- démarre Elasticsearch et attend qu’il soit prêt;
- réinitialise le mot de passe du superutilisateur
elasticavec une valeur générée aléatoirement; - enregistre le mot de passe dans
/etc/elasticsearch/elastic-password.txt.
Elasticsearch 9 prend de 60 à 90 secondes pour démarrer avant que la réinitialisation du mot de passe puisse s’exécuter. La durée totale du premier démarrage est d’environ 2 à 3 minutes.
Suivez la progression:
journalctl -u elasticsearch-first-boot.service -f3. Récupérez les identifiants
Section intitulée « 3. Récupérez les identifiants »sudo cat /etc/elasticsearch/elastic-password.txtCe fichier contient le mot de passe du superutilisateur elastic. Il est lisible uniquement par
root.
4. Connectez-vous à Elasticsearch
Section intitulée « 4. Connectez-vous à Elasticsearch »Elasticsearch 9 utilise HTTPS avec un certificat autosigné par défaut. Utilisez -k pour ignorer la
vérification du certificat lors des connexions locales, ou utilisez le certificat CA situé à
/etc/elasticsearch/certs/http_ca.crt.
ES_PASS=$(sudo cat /etc/elasticsearch/elastic-password.txt)curl -k -u elastic:"$ES_PASS" https://localhost:9200Sortie attendue:
{ "name" : "your-vm-hostname", "cluster_name" : "your-vm-hostname", "version" : { ... }, "tagline" : "You Know, for Search"}Gérer Elasticsearch
Section intitulée « Gérer Elasticsearch »# Vérifier l'état du servicesystemctl status elasticsearch
# Redémarrersudo systemctl restart elasticsearch
# Consulter les journauxsudo journalctl -u elasticsearch -fRépertoire de configuration: /etc/elasticsearch/
Fichiers importants:
elasticsearch.yml: paramètres du cluster, du réseau et du noeudjvm.options.d/: paramètres du tas JVM et du ramasse-miettes
Pour ajuster la taille du tas, créez un fichier dans /etc/elasticsearch/jvm.options.d/:
-Xms2g-Xmx2gDéfinissez le tas à au plus la moitié de la RAM disponible de la VM. Redémarrez Elasticsearch après les changements.
Sécurité
Section intitulée « Sécurité »Les ports 9200 (API REST) et 9300 (transport entre noeuds) ne sont pas ouverts vers l’extérieur par défaut. UFW est activé et n’autorise que SSH (port 22).
Pour autoriser l’accès à l’API REST depuis une adresse IP précise:
sudo ufw allow from <trusted-ip> to any port 9200Pour vous connecter sans ouvrir le pare-feu (recommandé), utilisez un tunnel SSH:
# Exécutez ceci sur votre poste localssh -L 9200:localhost:9200 ubuntu@<your-vm-ip>
# Interrogez ensuite localementcurl -k -u elastic:"<password>" https://localhost:9200