Initiation à Databases for Elasticsearch

Ce tutoriel vous guide à travers les étapes pour commencer à utiliser rapidement un déploiement IBM Cloud® Databases for Elasticsearch en provisionnant une instance, en définissant votre mot de passe d'administrateur et en vous y connectant.

Suivez ces étapes pour terminer le tutoriel :

Suivez ces étapes pour terminer le tutoriel :

Suivez ces étapes pour terminer le tutoriel :

Suivez ces étapes pour terminer le tutoriel :

Avant de commencer

Étape 1 : Choisissez votre plan

Databases for Elasticsearch propose deux plans différents :

  • Databases for Elasticsearch Enterprise déploie la version Basic d'Elasticsearch.

  • Databases for Elasticsearch Platinum déploie la version Platinum d'Elasticsearch.

Ces deux formules vous offrent un service « Elasticsearch » entièrement géré et évolutif, vous permettant ainsi de vous concentrer sur vos applications et vos données plutôt que sur l’infrastructure sous-jacente. Pour plus d'informations sur l'accès aux fonctionnalités du plan, consultez la page Présentation du plan.

Utilisation des API

Utilisez l'API Cloud Databases pour travailler avec votre instance Databases for Elasticsearch. L'API du contrôleur de ressources est utilisée pour provisionner une instance.

Vous aurez besoin d'une clé API pour effectuer des actions via l'API. Suivez ces étapes pour créer une clé API IBM Cloud qui vous permettra d'utiliser l'API pour provisionner l'infrastructure dans votre compte. Vous pouvez créer jusqu'à 20 clés d'API.

Pour des raisons de sécurité, la clé d'API ne peut être copiée ou téléchargée qu'au moment de sa création. Si la clé d'API est perdue, vous devez en créer une autre.

Étape 2 : Approvisionnement par le biais de la console

  1. Connectez-vous à la console Web IBM Cloud.

  2. Cliquez sur le serviceDatabases for Elasticsearch dans le catalogue.

  3. Suivez ces étapes pour provisionner une instance Databases for Elasticsearch

  4. Lorsque votre instance est provisionnée, cliquez sur le nom de l'instance pour afficher plus d'informations.

Étape 2 : Approvisionnement par l'intermédiaire de la CLI

Vous pouvez provisionner une instance Databases for Elasticsearch en utilisant le CLI. Si vous ne l'avez pas encore, vous devez installer le CLI IBM Cloud CLI.

Vous pouvez suivre ces étapes pour provisionner une instance Databases for Elasticsearch

Étape 2 : Approvisionnement via l'API du contrôleur de ressources

Suivez ces étapes pour provisionner une instance Databases for Elasticsearch à l'aide de l'API du contrôleur de ressources.

Étape 2 : Approvisionnement via Terraform

Vous avez besoin d'une clé API pour effectuer des actions via Terraform. Suivez ces étapes pour créer une clé API IBM Cloud qui permet à Terraform de provisionner l'infrastructure dans votre compte. Vous pouvez créer jusqu'à 20 clés d'API.

Pour des raisons de sécurité, la clé d'API ne peut être copiée ou téléchargée qu'au moment de sa création. Si la clé d'API est perdue, vous devez en créer une autre.

Une fois que vous avez une clé API, suivez ces étapes pour provisionner une instance Databases for Elasticsearch à l'aide de Terraform.

Étape 3 : Définir le mot de passe administrateur

Administrateur

Lorsque vous provisionnez un déploiement Databases for Elasticsearch, un utilisateur 'admin est automatiquement créé.

Définissez le mot de passe administrateur avant de l'utiliser pour vous connecter.

Définir le mot de passe de l'administrateur via l'interface utilisateur

Définissez votre mot de passe administrateur via l'interface utilisateur en sélectionnant votre instance dans la liste des ressources IBM Cloud Dans la liste des ressources. Sélectionnez ensuite Paramètres. Ensuite, sélectionnez Modifier le mot de passe de l'administrateur de la base de données.

Définir le mot de passe de l'administrateur par l'intermédiaire de la CLI

Utilisez la commande 'cdb user-password du plug-in IBM Cloud CLI Cloud Databases pour définir le mot de passe administrateur.

Par exemple, pour définir le mot de passe administrateur de votre déploiement, utilisez la commande suivante :

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

Définir le mot de passe de l'administrateur via l'API

Vous pouvez utiliser le paramètre 'id obtenu dans la réponse à l'étape 2 ci-dessus avec le paramètre Set specified user's password pour définir le mot de passe de l'administrateur.

curl -X PATCH -H "Authorization: Bearer <TOKEN>" \
     -H 'Content-Type: application/json' \
     -d '{"password":"newrootpasswordsupersecure21"}' \
      "https://api.<REGION>.databases.cloud.ibm.com/v5/ibm/deployments/<DEPLOYMENT_ID>/users/database/admin"

Le paramètre id doit être codé URL pour que l'appel API ci-dessus fonctionne.

Définir le mot de passe de l'administrateur via Terraform

Le mot de passe administrateur est transmis comme l'un des paramètres de la ressource de la base de données dans le script Terraform. Il n'est pas nécessaire de prendre d'autres mesures.

Étape 4 : Connexion à votre instance Databases for Elasticsearch

Connectez-vous à votre déploiement à l'aide de Kibana, un outil open source qui ajoute des fonctionnalités de visualisation à votre base de données Elasticsearch. Ce tutoriel explique comment exécuter Kibana dans un conteneur Docker à l'aide de l'image Kibana disponible dans le référentiel d'images Docker.

Avant de commencer

Pour se connecter, Kibana a besoin du nom d'utilisateur, du mot de passe, de l' URL et du port de votre déploiement Elasticsearch. Il a également besoin du certificat Elasticsearch TLS pour accéder à la base de données. Pour ce faire, copiez les informations relatives au certificat dans la section Endpoints de la page Overview de l'instance Elasticsearch que vous avez créée. Ensuite, téléchargez le certificat dans un dossier local. Vous pouvez utiliser le nom indiqué dans le fichier téléchargé ou choisir votre propre nom de fichier.

Mémorisez l'endroit où vous sauvegardez le certificat sur votre système de fichiers. Si vous exécutez Kibana en local, et non sur Docker, le certificat doit alors être placé dans $KIBANA_HOME/config/<filename>.

Configuration de Kibana

Avant d'exécuter le conteneur Docker qui inclut Kibana, créez un fichier de configuration dans le même dossier avec le certificat Elasticsearch téléchargé à l'étape 1. Le fichier de configuration contient des paramètres Kibana de base comme suit.

Créez un fichier YAML nommé kibana.yml. Ce fichier doit contenir les paramètres de configuration suivants pour Kibana :

elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
elasticsearch.username: "admin"
elasticsearch.password: "<password>"
elasticsearch.hosts: ["https://<hostname:port>"]
server.name: "kibana"
server.host: "0.0.0.0"

Le premier paramètre, elasticsearch.ssl.certificateAuthorities, est l'emplacement où Docker stockera le certificat Elasticsearch. Le certificat du déploiement est placé là lorsque vous exécutez Docker pour la première fois. Vous pouvez le remplacer par l'emplacement de votre choix, mais le chemin indiqué dans l'exemple correspond au répertoire de configuration de Kibana. Vérifiez que le nom de certificat (dans notre exemple "cert") dans le fichier kibana.yml et le fichier de nom de certificat stocké à l'étape 1 portent le même nom.

Viennent ensuite les paramètres elasticsearch.username et elasticsearch.password. Utilisez le nom d'utilisateur et le mot de passe d'administrateur du déploiement. Prenez soin de définir le mot de passe d'administrateur avant de tenter de vous connecter. Pour « elasticsearch.hosts », saisissez le nom d'hôte et le port du déploiement, séparés par un « : ».

Enfin, « server.name » est le nom lisible par machine de l'instance Kibana, et « server.hosts » correspond à l'adresse du serveur backend auquel vous pouvez vous connecter via votre navigateur web pour accéder à Kibana.

Ces paramètres ne constituent qu'un exemple simplifié destiné à vous aider à démarrer. Pour plus d'informations, voir Configurer Kibana.

Si vous exécutez Kibana en local, et non sur Docker, le fichier YAML doit alors être placé dans $KIBANA_HOME/config/kibana.yml, d'où Kibana lit sa configuration.

Exécution du conteneur Kibana

Maintenant que le fichier « kibana.yml » est configuré, utilisez la commande « Docker » pour associer le fichier YAML et votre fichier de certificat au conteneur « Docker », tout en récupérant l'image « <kibana_version> » depuis le référentiel d'images « Docker ».

Utilisez une image contenant une version de Kibana compatible avec la version d' Elasticsearch sur laquelle votre déploiement est exécuté. Récupérez la version Elasticsearch à partir du point de terminaison de l'API https_endpoint en utilisant votre client http préféré. Pour plus d'informations, voir la matrice de compatibilité Elasticsearch.

Voici un exemple avec curl. Si le certificat n'est pas installé, utilisez l'indicateur --insecure pour désactiver la vérification homologue. Le <http_endpoint> se trouve dans l'interface utilisateur Endpoints de votre instance:

curl --cacert <path-to-cert> <https_endpoint>

Ensuite, exécutez la commande « Docker » dans votre terminal pour démarrer le conteneur Kibana.

docker container run -it --name kibana \
-v <path_to_config_folder_created_in_step_1>:/usr/share/kibana/config \
-p 5601:5601 docker.elastic.co/kibana/kibana:<kibana_version>

La commande Docker possède un volume connecté avec l'indicateur -v. Ils sont installés dans le conteneur Kibana à l'emplacement /usr/share/kibana/config/, qui est un répertoire de configuration dans lequel Kibana recherche les fichiers de configuration.

  • Le paramètre « -p » permet de définir le port exposé depuis le conteneur, ainsi que le port que vous utilisez pour accéder à Kibana.
  • La version de Kibana doit correspondre à la version d'Elasticsearch que vous utilisez.

Lorsque vous exécutez la commande à partir de votre terminal, elle télécharge l'image Kibana Docker et exécute Kibana. Une fois que Kibana est connecté à votre déploiement Databases for Elasticsearch et s'exécute correctement, la sortie apparaît dans votre terminal.

log   [01:19:31.839] [info][status][plugin:<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:31.925] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log   [01:19:32.120] [info][status][plugin:timelion@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.134] [info][status][plugin:console@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.147] [info][status][plugin:metrics@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:33.132] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from yellow to green - Ready
log   [01:19:33.378] [info][listening] Server running at http://0.0.0.0:5601

Si vous ne souhaitez pas que la sortie de Kibana s'affiche sur votre terminal, utilisez l'indicateur -d pour détacher le conteneur.

Visitez http://0.0.0.0:5601 dans votre navigateur pour voir Kibana. 0.0.0.0 correspond à server.host dans kibana.yml et 5601 au port qui est exposé à partir du conteneur. Une fois que vous avez accédé à l'URL, une fenêtre en incrustation vous invite à entrer votre nom d'utilisateur et votre mot de passe. Utilisez les données d'identification d'administrateur ou toute autre donnée d'identification que vous avez effectuée pour accéder à votre déploiement. Les identifiants utilisés ne doivent pas nécessairement correspondre au nom d'utilisateur et au mot de passe que vous avez indiqués dans le fichier « kibana.yml ».

Etapes suivantes

Pour plus d'informations, consultez la documentation d' Elasticsearch.

Vous recherchez davantage d'outils pour gérer vos bases de données et vos données ? Vous pouvez vous connecter à votre déploiement à l'aide de l'interface de ligne de commandeIBM Cloud, du plug-in d'interface de ligne de commandeCloud Databases ou de l'APICloud Databases.

Si vous prévoyez d'utiliser Databases for Elasticsearch pour vos applications, voir Connexion d'une application externe et Connexion d'une application IBM Cloud.

Pour assurer la stabilité de vos applications et de votre base de données, consultez la rubrique Haute disponibilité et performance.