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 les étapes suivantes pour terminer le tutoriel :
- Avant de commencer
- Étape 1 : Choisissez votre plan
- Étape 2 : Approvisionnement par le biais de la console
- Étape 3 : Définir le mot de passe de l'administrateur via la console
- Étape 4 : Connexion à votre instance
- Etapes suivantes
Suivez les étapes suivantes pour terminer le tutoriel :
- Avant de commencer
- Étape 1 : Choisissez votre plan
- Étape 2 : Approvisionnement par l'intermédiaire de la CLI
- Étape 3 : Définir le mot de passe de l'administrateur par l'intermédiaire de la CLI
- Étape 4 : Connexion à votre instance
- Etapes suivantes
Suivez les étapes suivantes pour terminer le tutoriel :
- Avant de commencer
- Étape 1 : Choisissez votre plan
- Étape 2 : Approvisionnement via l'API
- Étape 3 : Définir le mot de passe de l'administrateur
- Étape 4 : Connexion à votre instance
- Etapes suivantes
Suivez les étapes suivantes pour terminer le tutoriel :
- Avant de commencer
- Étape 1 : Choisissez votre plan
- Étape 2 : Approvisionnement via Terraform
- Étape 3 : Définir le mot de passe de l'administrateur
- Étape 4 : Connexion à votre instance
- Etapes suivantes
Avant de commencer
- Vous avez besoin d'un compteIBM Cloud
É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.
Les deux plans vous fournissent un service Elasticsearch entièrement géré et évolutif, ce qui vous permet de vous concentrer sur vos applications et vos données plutôt que sur l'infrastructure sous-jacente.
Utilisation des API
Utilisez le " aPI Cloud Databases pour travailler avec votre instance " Databases for MongoDB 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
-
Connectez-vous à la console Web IBM Cloud.
-
Cliquez sur le serviceDatabases for Elasticsearch dans le catalogue.
-
Suivez ces étapes pour provisionner une instance Databases for Elasticsearch
-
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 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 exécute Kibana dans un conteneur Docker en utilisant l'image Kibana du dépôt d'images Docker.
Avant de commencer
- Installez Docker afin de pouvoir extraire l'image du conteneur Kibana pour vous connecter à Databases for Elasticsearch
- Si vous préférez éviter d'exécuter Kibana localement et d'installer Docker, vous pouvez également déployer Kibana à l'aide de IBM Cloud® Code Engine. Pour plus d'informations, voir Déploiement de Kibana à l'aide de Code Engine et connexion à votre instance Databases for Elasticsearch.
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 TLS d' Elasticsearch 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 fourni dans le téléchargement ou 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 localement, et non dans Docker, le certificat se trouve 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 changer pour un emplacement de votre choix, mais l'exemple de chemin est le 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
, entrez le nom d'hôte et le port du déploiement, séparés par un :
.
Enfin, server.name
est un nom lisible par la machine pour l'instance Kibana et server.hosts
est l'hôte du serveur dorsal où vous pouvez vous connecter à Kibana dans votre navigateur Web.
Ces paramètres ne sont qu'un exemple simplifié pour commencer. Pour plus d'informations, voir Configure Kibana.
Si vous exécutez Kibana localement, et non dans Docker, alors le fichier YAML va dans $KIBANA_HOME/config/kibana.yml
, où Kibana lit sa configuration.
Exécution du conteneur Kibana
Maintenant que le fichier kibana.yml
est configuré, utilisez Docker pour attacher le fichier YAML et votre fichier de certificat au conteneur Docker, tout en tirant l'image <kibana_version>
du référentiel d'images
Docker.
Utilisez une image avec une version de Kibana compatible avec la version d' Elasticsearch que votre déploiement exécute. Extrayez la version Elasticsearch du noeud final d'API https_endpoint
à l'aide de 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, lancez 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
. Ceux-ci sont montés dans le conteneur Kibana sur le chemin /usr/share/kibana/config/
, qui est un répertoire de configuration où Kibana recherche
des fichiers de configuration.
- Le site
-p
spécifie le port qui est exposé à partir du conteneur et 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 informations d'identification ne doivent pas nécessairement être le même nom d'utilisateur et le même mot de passe que ceux que vous avez fournis dans le fichier kibana.yml
.
Etapes suivantes
Pour plus d'informations, voir la documentation 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.