Kibana
Kibana is a powerful web-based data visualization tool providing everything needed to explore data and build useful and efficient dashboards.
Deploying
Using our One-Click Deploy Button
Click the One-Click Deploy button below to automatically deploy Kibana with your Scalingo account:
Using the Command Line
We maintain a repository called kibana-scalingo on GitHub to help you deploy Kibana on Scalingo. Here are the few steps you will have to follow:
-
Clone our repository:
git clone https://github.com/Scalingo/kibana-scalingo cd kibana-scalingo
-
Create the application on Scalingo:
scalingo create my-kibana
Notice that our Command Line automatically detects the git repository, and adds a git remote to Scalingo:
git remote -v origin https://github.com/Scalingo/kibana-scalingo (fetch) origin https://github.com/Scalingo/kibana-scalingo (push) scalingo git@ssh.osc-fr1.scalingo.com:my-kibana.git (fetch) scalingo git@ssh.osc-fr1.scalingo.com:my-kibana.git (push)
-
Set a few environment variables:
scalingo --app my-kibana env-set BUILDPACK_URL="https://github.com/Scalingo/kibana-buildpack" scalingo --app my-kibana env-set ELASTICSEARCH_URL="<elasticsearch-db-url>"
-
Deploy:
git push scalingo master
Using the Terraform Provider
-
Start by forking our Kibana repository
-
Place the following block in your Terraform file to create the app:
resource "scalingo_app" "my-kibana" { name = "my-kibana" force_https = true environment = { BUILDPACK_URL = "https://github.com/Scalingo/kibana-buildpack" ELASTICSEARCH_URL = "<elasticsearch-db-url>" } }
-
Link the app to your forked repository:
data "scalingo_scm_integration" "github" { scm_type = "github" } resource "scalingo_scm_repo_link" "default" { auth_integration_uuid = data.scalingo_scm_integration.github.id app = scalingo_app.my-kibana.id source = "https://github.com/<username>/kibana-scalingo" branch = "master" }
-
Run
terraform plan
and check if the result looks good -
If so, run
terraform apply
-
Once Terraform is done, your Kibana instance is provisioned and ready to be deployed. This requires an extra manual step:
- Head to your dashboard
- Click on your Kibana application
- Click on the Deploy tab
- Click on Manual deployment in the left menu
- Click the Trigger deployment button
- After a few seconds, your Kibana instance is finally up and running!
Configuring the Index Patterns
Once deployed and running, Kibana requires at least one index pattern to be configured. This pattern allows Kibana to know which indices of Elasticsearch® it has to watch.
- From Kibana’s home screen, select Manage in the upper right menu
- Click on Index Patterns in the menu on the left side
- Click the Create index pattern button
- Fill the Index pattern name with the appropriate value
If you are following our guides and examples, the value should beunicorns-*
- Kibana does a quick check to validate the index is indeed existing.
- If a time field exists for this index, Kibana suggests to use it. Chose
whether it’s appropriate or not for your case
If you are following our guides and examples, select@timestamp
in the dropdown - Click the Create index pattern button to validate
Updating
By default, Scalingo deploys a version of Kibana that is compatible with the Elasticsearch® instances we provide.
Consequently, updating Kibana consists in triggering a new deployment of your instance.
Using the Command Line
-
In your Kibana repository, create an empty commit and push it to Scalingo:
git commit --allow-empty -m "Update Kibana" git push scalingo master
Using the Terraform Provider
- Head to your dashboard
- Click on your Kibana application
- Click on the Deploy tab
- Click on Manual deployment in the left menu
- Click the Trigger deployment button
- After a few seconds, your updated Kibana instance is ready!
Customizing
Environment
The following environment variables can be leveraged to customize your deployment:
-
KIBANA_USER
Username for Kibana authentication. -
KIBANA_PASSWORD
Password for Kibana authentication. -
KIBANA_VERSION
Version of Kibana to deploy.
Defaults to7.10.2
-
ELASTICSEARCH_TLS_CA_URL
URL of the CA certificate used to established a TLS connection with the Elasticsearch® database. Can be found on the database dashboard.
Mandatory if you enabled the force TLS option on your Elasticsearch® database.
Defaults to not being set. -
ES_SSL_VERIFICATION_MODE
If you’re using a custom hostname not handled by the TLS certificate, please set this environment variable tonone
.
Defaults to not being set.