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.