Configuring Kibana and Enterprise Search server with a Databases for Elasticsearch instance
This tutorial will guide you through the steps to configure a functional Enterprise Search server integrated with an IBM Cloud® Databases for Elasticsearch instance. Elasticsearch is a powerful and versatile search and analytics engine that helps you store, search, and analyze large volumes of data quickly and in near-real-time.
Databases for Elasticsearch is an Elasticsearch service that is offered by IBM Cloud that provides a managed and scalable solution for deploying and running Elasticsearch clusters.
Kibana complements Elasticsearch by offering a flexible visualization platform. It allows you to explore, visualize, and share insights from your data, enabling you to create custom dashboards and visualizations to better understand your information.
Enterprise Search extends the capabilities of Databases for Elasticsearch to provide a unified search experience across various data sources, including documents, emails, databases, and more.
By integrating Enterprise Search with your Databases for Elasticsearch instance, you gain a comprehensive search solution that uses the strengths of both platforms to efficiently discover insights from your data.
Kibana and Enterprise Search will be deployed on IBM Code Engine, a fully-managed serverless platform that can be used to host cloud native applications such as web apps.
Before you start
Before you begin, ensure you have the following:
- An IBM Cloud account
- The IBM Cloud CLI
- Terraform - to deploy infrastructure
Obtain an API key to deploy infrastructure to your account
Follow these steps to create an IBM Cloud API key that enables Terraform to provision infrastructure into your account. You can create up to 20 API keys.
For security reasons, the API key is only available to be copied or downloaded at the time of creation. If the API key is lost, you must create a new API key.
Clone the project
git clone https://github.com/IBM/elasticsearch-kibana-enterprise-search.git
Install your infrastructure
-
Navigate into the terraform folder of the cloned project.
cd elasticsearch-kibana-codeengine/terraform
-
On your machine, create a document that is named
terraform.tfvars
, with the following fields:ibmcloud_api_key = "<your api key>" region = "<an ibm cloud region>" #e.g. eu-gb es_username = "admin" es_password = "<make up a password>" #Passwords have a 15 character minimum and must contain a number. Other acceptable characters are A-Z, a-z, 0-9, -, _ es_version="<a supported major version>" # eg 8.12
The
terraform.tfvars
document contains variables that you might want to keep secret. -
Install the infrastructure with the following command:
terraform init terraform apply --auto-approve
Visit your Kibana deployment
The previous step will output the URL of the Kibana deployment, for example something like:
kibana_endpoint = "https://kibana-app.1dqmr45rt678g05.eu-gb.codeengine.appdomain.cloud"
Log in at this URL with the username and password you supplied above.
Once logged in, you can configure Enterprise Search by visiting the following URL.
https://kibana-app.1dqmr45rt678g05.eu-gb.codeengine.appdomain.cloud/app/enterprise_search/app_search/engines
You can find more information on the many features of Enterprise search on the Elastic website.
The output of the previous step also contains the URL of the Elasticsearch deployment itself, which can be used to connect it to WatsonX Assistant or other applications.
Wrapping up
Your Databases for Elasticsearch incurs charges, as does the Code Engine resources that host Kibana and Enterprise Search. After you finish this tutorial, you can remove all the infrastructure by going to the terraform
directory
of the project and using the command:
terraform destroy