Kibana and Heroku Private Spaces

When you have successfully provisioned a Private Space-accessible cluster via Bonsai, you might be interested in looking at it via Kibana. However there is one problem: our Kibana server doesn't have network access to your private cluster. This is by design, as you don't want just anyone to be able to access your cluster from the public internet.

So what are your options?

We recommend deploying a free dyno in your Heroku Private Space that can then be configured to access your cluster. It can do this securely because the Kibana dyno will run in your Heroku Private Space.

Kibana-maker

Kibana maker is a simple script that we wrote that helps bootstrap a Heroku Application by configuring a small git repository and pushing that up to a heroku git repository.

You can pull down a copy of kibana-maker using the following command

cd /tmp && curl -s https://gist.githubusercontent.com/dansimpson/59dc310bda6490af31e6ea1717bc6b8f/raw/89e11a994e835ce785d155a7ab9d759f03089dec/kibana-maker.rb -o kibana-maker && chmod +x kibana-maker

Steps

  1. Identify the slug of your private space in the Heroku App
  2. Identify the URL of your cluster in the Bonsai App
  3. Note the version of Elasticsearch you are using
  4. Using kibana-maker, run the following command
  5. cd /tmp && kibana-maker --name=<HEROKU KIBANA APP NAME> --url=<BONSAI URL> --space=<SPACE SLUG> --version=<ES VERSION>
    	
  6. You should now have a functioning Kibana instance running in your Heroku Private space