{{tag>software application elasticsearch installation elk}} ====== Installer la pile logicielle elasticsearch ====== Plusieurs méthodes d'installation sont disponibles sur le site officiel, on reprend ici la méthode d'installation sur une debian like. ===== Installation des nodes ===== ==== Installation du node initial ==== Importer la clé GPG utilisée pour la signature des paquets : apt-get install gpg wget -qO - "https://artifacts.elastic.co/GPG-KEY-elasticsearch" | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg #Installer le paquet pour les mises a jour via HTTPS apt-get install apt-transport-https # Ajouter le dépot elasticsearch echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list # Installer l'application à partir du dépot apt-get update apt-get install elasticsearch ==== Configuration du node ==== Une partition dédiée aux données de l'application est montée sur le répertoire ''/srv/elasticsearch'' # Création des dossiers data et log mkdir /srv/elasticsearch/{data,log} # Restriction des droits d'accès chown elasticsearch:elasticsearch /srv/elasticsearch/{data,log} chmod u+rwx,g+rs-w,o-rwx /srv/elasticsearch/{data,log} Modifier les valeurs des variables **''path.data''** et **''path.log''** dans le fichier de configuration ''/etc/elasticsearch/elasticsearch.yml''. ... # ----------------------------------- Paths ------------------------------------ # # Path to directory where to store the data (separate multiple locations by comma): # path.data: /srv/elasticsearch/data # # Path to log files: # path.logs: /srv/elasticsearch/log # ... ==== Configuration du service ==== Pour démarrer automatiquement le service elasticsearch au démarrage de l’hôte : systemctl daemon-reload systemctl enable elasticsearch.service Pour démarrer le service : systemctl start elasticsearch.service ==== Vérifier l'état du node ==== Lors du premier démarrage du service, un mot de passe est définit pour le super utilisateur "elastic". Le mot de passe sera nécessaire notamment pour interroger l'API. Il peut être facilement redéfinit si besoin : /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic Pour vérifier le bon fonctionnement du node (localement d'abord) avec **curl** : curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:"secret-passwod" https://localhost:9200 Depuis une machine distante, il faudra copier le certificat de l'autorité de certification ( /etc/elasticsearch/certs/http_ca.crt). ===== Regénérer un certificat ===== Si le nom d’hôte est modifié ou après avoir activer des interfaces supplémentaires, il faut regénérer un certificat avec le champ SAN mis à jour. elasticsearch intègre un outil facilitant la génération des certificats [[https://www.elastic.co/guide/en/elasticsearch/reference/current/certutil.html|elasticsearch-certutil]] : # Pour regénérer un certificat SSL autosigné /usr/share/elasticsearch/bin/elasticsearch-certutil cert --self-signed # Pour générer la CSR à transmettre à un autorité de certification tierce /usr/share/elasticsearch/bin/elasticsearch-certutil http Une archive est générée, il faut mettre à jour la configuration pour utiliser le nouveau certificat. ===== Références ===== * [[https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html|Installer la pile logicielle elasticsearch (elastic.co)]] * [[https://www.elastic.co/guide/en/elasticsearch/reference/8.14/install-elasticsearch.html]] * [[https://www.elastic.co/guide/en/elasticsearch/reference/8.14/deb.html]] * [[https://www.elastic.co/guide/en/elastic-stack/current/installing-stack-demo-self.html]] * [[https://www.elastic.co/guide/en/elastic-stack/current/install-stack-demo-secure.html]]