ElasticSearch sur NAS Synology + Docker

Ce guide va présenter comment configurer ElasticSearch et Kibana sur un NAS Synology avec Docker. Le but n’est pas d’avoir une machine ultra-performante mais de pouvoir avoir une installation ElasticSearch facilement maintenable pour des tests ou juste découvrir l’outil. Il sera ainsi possible de mettre à jour rapidement la version dl’ElasticSearch sans perdre de données grâce à l’utilisation de Docker.

Récupération des images Docker

Récupérer les images elastic/elastic-search et elastic/kibana, ce sont les images officielles. Si vous possédez un Synology équiper d’un processeur 64bit, vous pouvez utiliser l’image amd64.

Création des conteneurs: elasticsearch

Pour créer un conteneur, aller dans Image, sélectionner l’image, puis « Lancer »:

Ensuite, choisir « Paramètres avancés »

Paramètres généraux: choisir le nom du conteneur

Volume: configurez deux dossier, config et data avec accès en écriture. C’est là que seront stockés les configurations ainsi que les données des indexes

Fichier/Dossier: le répertoire sur votre NAS, à définir selon votre structure de répertoire.

Chemin d’accès:

/usr/share/elasticsearch/config

/usr/share/elasticsearch/data

Configurer les ports locaux pour les ports du conteneur 9200 et 9300 du conteneur elasticsearch.

Dans environnement, ajouter le paramètre discovery.type = single-node

Création des conteneurs: kibana

Similaire à elasticsearch:

Pour les ports locaux, attention de bien le spécifier, sans ça, impossible d’accéder à Kibana (port 5601 par défaut)

Configuration elasticsearch et kibana

Dans elasticsearch.yml, activer la sécurité: xpack.security.enabled: true. Pour plus de détail: https://www.elastic.co/guide/en/elasticsearch/reference/7.11/get-started-enable-security.html

redémarrer le conteneur puis, dans le shell, mettre à jour les mots de passe (attention de ne pas les perdre, en particulier celui de kibana_system):
./bin/elasticsearch-setup-passwords interactive

Dans kibana.yml, configurer le mot de passe kibana_system selon ce qui a été défini dans le conteneur elastic. Adapter le port elasticsearch si nécessaire.

Voici le miens:

server.name: kibana
server.host: « 0 »
elasticsearch.username: « kibana_system »
elasticsearch.password: « ********** »
elasticsearch.hosts: [ « http://elasticsearch:9200 » ]
monitoring.ui.container.elasticsearch.enabled: true

Le paramètre elasticsearch.hosts tel que défini nécessite de lier les deux conteneurs:

Démarrer les deux conteneur (vous pouvez lier kibana à elasticsearch pour qu’ils soient démarrés en même temps)

Accéder à l’URL de votre NAS avec le port spécifié pour Kibana, vous devriez avoir la page de login qui s’ouvre, pour ensuite accéder à Kibana.

About Ludovic

Ingénieur en informatique dipl. EPFL
Cette entrée a été postée dans la catégorie Coding, ElasticSearch et taggée , , , . Ajouter le permalink aux favoris.

Comments are closed.