Kibana
Hydrolix includes an in-cluster Kibana integration that deploys Kibana, Kibana Gateway, and Elasticsearch together. It translates Elasticsearch queries to SQL and routes them to Hydrolix, making Hydrolix tables queryable as Elasticsearch indices.
This page covers installing, configuring, and deactivating the Hydrolix integration. For Kibana guidance, see the Kibana documentation.
Kibana Gateway was previously called Quesma
Hydrolix acquired the database proxy software from Quesma in September 2025. Older versions of Hydrolix may have artifacts containing the word quesma.
Before you begin⚓︎
Ensure you have these prerequisites:
- Kubernetes
cluster-adminprivileges as described in the Kubernetes documentation - The names of the Hydrolix tables you want to query in Kibana
- Sufficient resources in your Kubernetes cluster to accommodate new Kibana, Kibana Gateway, and Elasticsearch pods
Install Kibana Gateway⚓︎
-
Install the Elasticsearch Custom Resource Definitions (CRD) and operator. With
kubectlconfigured for your Hydrolix cluster, run these commands:Install Elasticsearch CRD and operator See the Elasticsearch documentation for details.
-
Edit the HydrolixCluster spec configuration to include the Kibana in-cluster integration.
-
Wait for the pods to start. The
elasticsearch,kibana-gateway, andkibana-kbpods can take several minutes to start. Verify the pods are running:Check pod status Expected output showing Running status:
-
Verify the Kibana web interface:
- Sign in to your Hydrolix cluster UI at
https://hostname.hydrolix.live. - Navigate to
https://hostname.hydrolix.live/kibana.
- Sign in to your Hydrolix cluster UI at
Use Kibana and Kibana Gateway⚓︎
The in-cluster Kibana integration uses the hydro.logs table as a data source by default.
- Visit your Kibana installation at
https://hostname.hydrolix.live/kibana. - Select Stack Management from the main menu.
- Select Kibana > Data Views.
- Create a data view:
- If this is your first data source, select the link in the text "You can also create a data view against hidden, system, or default indices" at the bottom of the introduction page.
- If this isn't your first data source, select the Create data view button.
- Enter a name, index pattern, and timestamp in the form.
- Select Save data view to Kibana.
Configure Kibana Gateway⚓︎
Kibana Gateway can expose additional Hydrolix tables and communicate with Kibana instances running outside the cluster.
Additionally, it detects all summary tables in configured projects by querying the Hydrolix Config API. Once the integration is active, Kibana can query those summary tables without additional configuration. This feature was introduced in Hydrolix version 5.10.
Query additional projects and tables⚓︎
This feature was introduced in Hydrolix version 5.9.
By default, Kibana Gateway exposes data in the hydro.logs table to Kibana. To expose additional tables, add their projects to the HydrolixCluster config spec. For example, to expose the hydro.monitor and cloudflare.logs tables in Hydrolix, the cluster configuration would be:
Kibana Gateway automatically discovers all tables in the listed projects.
Table auto discovery limitation
Tables with name collisions across multiple projects are automatically ignored with a corresponding WARN log in the kibana-gateway container. For example, if both hydro and cloudflare happen to have a table called logs, neither would be exposed through auto discovery alone. See also Why differentiate the table name and index name.
Customize each table using the following fields in the HydrolixCluster config spec:
Example configuration using the hydro.logs, sample_project.sample_table, and cloudflare.logs tables:
| Example configuration with sample table | |
|---|---|
Why differentiate the table name and index name⚓︎
Mapping table names to different index names can resolve table name collisions across projects. When accessing multiple projects using Kibana, two different projects can have tables with the same name such as hydro.logs and visordb.logs. In Elasticsearch/Kibana, index names must be unique, so you can't have two indexes both called logs. The index-name-to-table-name mapping lets you present them under distinct names:
| Different table name and index name | |
|---|---|
Enable public access to Kibana Gateway⚓︎
To allow external clients, such as Kibana running outside the cluster, to communicate with Kibana Gateway, enable public access using this configuration:
| Enable Kibana Gateway public access | |
|---|---|
This configuration exposes Kibana Gateway at kibana-gateway.hostname.hydrolix.live. The hdx-elastic-user Kubernetes secret holds the username and password. See Managing Secrets using kubectl for more information.
Deactivate Kibana⚓︎
To remove the Kibana integration:
- Edit your
hydrolixcluster.yamlfile and remove thedata_visualization_toolsandkibana_gateway_configsections. -
Apply the configuration changes:
Apply deactivation changes -
Remove the Elasticsearch CRDs and operator: