OpenSearch Dashboards is a frontend application that for visualizing data stored in an OpenSearch database. Charmed OpenSearch Dashboard is the adaptation of the OpenSearch Dashboards user interface to the Juju environment.
The charm supports access via:
- HTTPS (typically for direct access)
- HTTP (load-balancing)
OpenSearch Dashboard is a Juju charm. This means that an existing Juju environment is necessary.
Install and initialize the LXD lightweight container hypervisor and Juju from the Snap Store:
sudo snap install juju --classic --channel=3.1/stable
sudo snap install lxd
lxd init --auto
Then, boostrap Juju over LXD:
juju bootstrap localhost
OpenSearch Dashboards visualizes an underlying OpenSearch database. This means that a Charmed OpenSearch instance also has to be ready and available.
A straightforward installation guide is available in the charm's Github repository.
The Dashboards charm requires no specific environment adjustments. Therefore all we need to do to deploy the charm from Charmhub is
juju deploy opensearch-dashboards --channel=2/edge
and integrate it with the OpenSearch charm:
juju integrate opensearch opensearch-dashboards-operator
Switching to TLS support for the OpenSearch Dashboards charms goes identically to how it goes for OpenSearch.
Install the self-signed-certificates operator
juju deploy self-signed-certificates --channel=latest/stable
and integrate it with the Dashboards charm
juju integrate opensearch-dashboards self-signed-certificates
Functionality of the service can be tested by making an attempt to access the portal either from the command-line or a web browser.
A few pieces of information are required to do this.
Construct the URL first.
The Dashboard front-end is exposed on port 5601
. Using juju status
we can
retrieve the IP of each unit:
opensearch-dashboards/0* active idle 1 10.4.151.209
Using the example above, the Dashboard URL is http://10.4.151.209:5601
.
Set up a database user by deploying the data-integrator
charm
and integrating it with opensearch
. The user is created automatically as a result of the integration.
$ juju deploy data-integrator
$ juju deploy data-integrator --config index-name=<index_name>
Retrieve user credentials running
juju run data-integrator/0 get-credentials
at the bottom of the output you should see something like:
password: 8kubD7nbWYZFHPVEzIVmTyqV42I7wHb4
<CA certificate here>
username: opensearch-client_15
Using information from above, the dashboard URI is construted as
https://<IP>:5601
Log in with the credentials of the new user.
You must create an "index pattern" that enables the Dasboard to access the user's data.
It should specify the index_name
that was used to create the user with data-integrator
.
Follow instructions from OpenSearch documentation on How to create an index pattern
When the index pattern is defined, data that belongs to the user will display in the Dasboards.
The Charmed OpenSearch Dashboards Operator is free software, distributed under the Apache Software License, version 2.0. See LICENSE for more information.