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:
- Prima di iniziare
- Fase 1: Scegliere il piano
- Passo 2: Provisioning attraverso la console
- Passo 3: Impostare la password di amministratore attraverso la console
- Fase 4: connessione all'istanza
- Passi successivi
Seguite questi passaggi per completare l'esercitazione:
- Prima di iniziare
- Fase 1: Scegliere il piano
- Passo 2: Provisioning tramite CLI
- Passo 3: Impostare la password di amministratore tramite la CLI
- Fase 4: connessione all'istanza
- Passi successivi
Seguite questi passaggi per completare l'esercitazione:
- Prima di iniziare
- Fase 1: Scegliere il piano
- Fase 2: Provisioning attraverso l'API
- Passo 3: Impostare la password di amministratore
- Fase 4: connessione all'istanza
- Passi successivi
Seguite questi passaggi per completare l'esercitazione:
- Prima di iniziare
- Fase 1: Scegliere il piano
- Passo 2: Provisioning tramite Terraform
- Passo 3: Impostare la password di amministratore
- Fase 4: connessione all'istanza
- Passi successivi
Prima di iniziare
- È necessario un accountIBM Cloud.
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
-
Accedi alla console IBM Cloud.
-
Fare clic sul servizioDatabases for Elasticsearch nel catalogo.
-
Seguire questi passaggi per eseguire il provisioning di un'istanza Databases for Elasticsearch.
-
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
- Installa Docker in modo da poter eseguire il pull dell'immagine del contenitore Kibana per il collegamento a Databases for Elasticsearch.
- Se preferisci evitare di eseguire Kibana localmente e installare Docker, puoi anche distribuire Kibana utilizzando IBM Cloud® Code Engine. Per ulteriori informazioni, vedi Deploy Kibana using Code Engine e connettiti alla tua istanza Databases for Elasticsearch.
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
-pspecifica 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.