Introduzione a Databases for Elasticsearch

Questa esercitazione guida l'utente attraverso i passaggi per iniziare a utilizzare rapidamente una distribuzione IBM Cloud® Databases for Elasticsearch, effettuando il provisioning di un'istanza, impostando la password di amministrazione e collegandosi ad essa.

Seguite questi passaggi per completare l'esercitazione:

Seguite questi passaggi per completare l'esercitazione:

Seguite questi passaggi per completare l'esercitazione:

Seguite questi passaggi per completare l'esercitazione:

Prima di iniziare

Fase 1: Scegliere il piano

Databases for Elasticsearch offre due piani diversi:

  • Databases for Elasticsearch Enterprise distribuisce la versione di base di Elasticsearch.

  • Databases for Elasticsearch Platinum distribuisce la versione Platinum di Elasticsearch.

Entrambi i piani offrono un servizio Elasticsearch completamente gestito e scalabile, che ti permette di concentrarti sulle tue applicazioni e sui tuoi dati anziché sull'infrastruttura sottostante. Per ulteriori dettagli su come accedere alle funzionalità del piano, consulta la panoramica del piano.

Utilizzo delle API

Utilizzare l'API Cloud Databases per lavorare con l'istanza Databases for Elasticsearch. L'API del controllore delle risorse viene utilizzata per il provisioning di un'istanza.

Per eseguire azioni tramite l'API è necessaria una chiave API. Seguire questi passaggi per creare una chiave API IBM Cloud che consente di utilizzare l'API per il provisioning dell'infrastruttura sul proprio account. Puoi creare fino a 20 chiavi API.

Per motivi di sicurezza, la chiave API è disponibile per essere copiata o scaricata solo durante la fase di creazione. Se la chiave API viene persa, dovrai crearne una nuova.

Passo 2: Provisioning attraverso la console

  1. Accedi alla console IBM Cloud.

  2. Fare clic sul servizioDatabases for Elasticsearch nel catalogo.

  3. Seguire questi passaggi per eseguire il provisioning di un'istanza Databases for Elasticsearch.

  4. Quando l'istanza è stata fornita, fare clic sul nome dell'istanza per visualizzare ulteriori informazioni.

Passo 2: Provisioning tramite CLI

È possibile eseguire il provisioning di un'istanza Databases for Elasticsearch utilizzando la CLI. Se non lo si possiede già, è necessario installare la IBM Cloud CLI.

Per eseguire il provisioning di un'istanza Databases for Elasticsearch si possono seguire i seguenti passaggi.

Fase 2: Fornitura tramite l'API del controllore delle risorse

Seguire questi passaggi per eseguire il provisioning di un'istanza Databases for Elasticsearch usando l'API del controllore delle risorse.

Passo 2: Provisioning tramite Terraform

Per eseguire azioni tramite Terraform è necessaria una chiave API. Seguite questi passaggi per creare una chiave API IBM Cloud che consenta a Terraform di eseguire il provisioning dell'infrastruttura sul vostro account. Puoi creare fino a 20 chiavi API.

Per motivi di sicurezza, la chiave API è disponibile per essere copiata o scaricata solo durante la fase di creazione. Se la chiave API viene persa, dovrai crearne una nuova.

Una volta ottenuta una chiave API, seguire questi passaggi per eseguire il provisioning di un'istanza Databases for Elasticsearch usando Terraform.

Passo 3: Impostare la password di amministrazione

L'utente amministratore

Quando si effettua il provisioning di un'installazione Databases for Elasticsearch, viene creato automaticamente un utente 'admin.

Impostare la password di amministrazione prima di utilizzarla per la connessione.

Impostare la password di amministrazione tramite l'interfaccia utente

Impostare la password di amministrazione attraverso l'interfaccia utente, selezionando l'istanza dal 'IBM Cloud Elenco risorse. Quindi, selezionare Impostazioni. Quindi, selezionare Modifica password amministratore database.

Impostare la password di amministrazione tramite la CLI

Utilizzare il comando 'cdb user-password dal plug-in IBM Cloud CLI Cloud Databases per impostare la password di amministrazione.

Ad esempio, per impostare la password di amministrazione per l'installazione, usare il seguente comando:

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

Impostare la password di amministrazione tramite l'API

È possibile utilizzare il parametro 'id ottenuto nella risposta al punto 2 con l'endpoint Set specified user's password per impostare la password dell'amministratore.

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"

Il parametro id deve essere codificato URL affinché la chiamata API di cui sopra funzioni.

Impostazione della password di amministrazione tramite Terraform

La password di amministrazione viene passata come uno dei parametri delle risorse del database nello script di Terraform. Non è necessario intraprendere ulteriori azioni.

Passo 4: Connettersi all'istanza Databases for Elasticsearch

Collegatevi alla vostra installazione utilizzando Kibana, uno strumento open source che aggiunge funzionalità di visualizzazione al vostro database Elasticsearch. Questa esercitazione esegue Kibana in un contenitore Docker utilizzando l'immagine di Kibana dal repository di immagini Docker.

Prima di iniziare

Per connettersi, Kibana ha bisogno del nome utente, della password, dell' URL e della porta dell'installazione di Elasticsearch. Ha inoltre bisogno del certificato Elasticsearch TLS per accedere al database. Per ottenerlo, copiare le informazioni sul certificato dalla sezione Endpoints della pagina Overview dell'istanza Elasticsearch creata. Quindi, scaricare il certificato in una cartella locale. È possibile utilizzare il nome fornito nel download o il proprio nome file.

Ricordati dove salvare il certificato sul tuo file system. Se si sta eseguendo Kibana localmente, non in Docker, il certificato va in $KIBANA_HOME/config/<filename>.

Configura Kibana

Prima di eseguire il contenitore Docker che include Kibana, crea un file di configurazione nella stessa cartella con il certificato Elasticsearch scaricato dal passo 1. Il file di configurazione conterrà alcune impostazioni Kibana di base come riportato di seguito.

Creare un file YAML chiamato kibana.yml. All'interno del file sono necessarie le seguenti impostazioni di configurazione 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"

La prima impostazione, elasticsearch.ssl.certificateAuthorities, è l'ubicazione in cui Docker memorizzerà il certificato Elasticsearch. Viene posizionata in questa posizione quando esegui per la prima volta Docker. Puoi modificarlo in un'ubicazione a scelta, ma il percorso di esempio è la directory di configurazione di Kibana. Assicurati che il nome del certificato (nel nostro esempio "cert") all'interno di kibana.yml e il file del nome certificato memorizzato nel passo 1 abbiano lo stesso nome.

Successivo, è elasticsearch.username e elasticsearch.password. Utilizza username e password admin della distribuzione. Assicurarsi di impostare la password admin prima di provare la connessione. Per elasticsearch.hosts, immettere il nome host e la porta della distribuzione, separati da un :.

Infine, server.name è un nome leggibile dalla macchina per l'istanza Kibana e server.hosts è l'host del server di backend in cui puoi collegarti a Kibana nel tuo browser web.

Queste impostazioni sono solo un esempio semplificato per iniziare. Per ulteriori informazioni, vedere Configurazione di Kibana.

Se stai eseguendo Kibana localmente, non in Docker, il file YAML va in $KIBANA_HOME/config/kibana.yml, dove Kibana legge la sua configurazione.

Esegui il contenitore Kibana

Ora che il file kibana.yml è configurato, utilizzare Docker per allegare il file YAML e il tuo file di certificato al contenitore Docker, mentre si estrae l'immagine <kibana_version> dal repository di immagini Docker.

Utilizzare un'immagine con una versione di Kibana compatibile con la versione di Elasticsearch in esecuzione. Recuperare la versione di Elasticsearch dall'endpoint dell'API https_endpoint utilizzando il client http preferito. Per ulteriori informazioni, consultare la matrice di compatibilità Elasticsearch.

Ecco un esempio con arricciatura. Se non si dispone del certificato installato, utilizzare l'indicatore --insecure per disabilitare la verifica peer. Il <http_endpoint> può essere trovato nell'IU Endpoint della tua istanza:

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

Successivamente, esegui il comando Docker nel tuo terminale per avviare il contenitore 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>

Il comando Docker dispone di un volume collegato con la bandiera -v. Questi sono montati nel contenitore Kibana nel percorso /usr/share/kibana/config/, che è una directory di configurazione in cui Kibana cerca i file di configurazione.

  • La -p specifica quale porta è esposta dal contenitore e la porta che utilizzi per accedere a Kibana.
  • La versione Kibana dovrebbe corrispondere alla versione di Elasticsearch che si sta utilizzando.

Quando si esegue il comando dal terminale, scarica l'immagine Kibana Docker e esegue Kibana. Una volta che Kibana ha collegato alla tua distribuzione Databases for Elasticsearch ed è in esecuzione correttamente, vedi l'output nel tuo terminale.

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

Se non vuoi vedere l'output di Kibana nel tuo terminale, usa il flag -d per staccare il contenitore.

Visita http://0.0.0.0:5601 nel tuo browser per vedere Kibana. 0.0.0.0 è il server.host in kibana.yml e 5601 è la porta esposta dal contenitore. Una volta raggiunto l' URL, una finestra pop-up richiede il nome utente e la password. Utilizza le credenziali di amministratore, o qualsiasi altra credenziale che hai creato, per accedere alla tua distribuzione. Le credenziali non devono essere lo stesso nome utente e password forniti nel file kibana.yml.

Passi successivi

Per ulteriori informazioni, consultare la documentazione diElasticsearch.

Cerchi altri strumenti sulla gestione dei tuoi database e dei dati? Puoi connetterti alla tua distribuzione con la CLIIBM Cloud, il plug-in CLICloud Databases o l'APICloud Databases.

Se prevedi di utilizzare Databases for Elasticsearch per le tue applicazioni, consulta Connessione di un'applicazione esterna e Connessione di un'applicazione IBM Cloud.

Per garantire la stabilità delle vostre applicazioni e del vostro database, consultate la sezione Alta disponibilità e prestazioni.