kibana #22

Supports: xenial trusty
Add to new model

Description

Kibana lets you visualize your Elasticsearch data and navigate the Elastic Stack.


Overview

This charm provides Kibana v5.x from https://www.elastic.co/products/kibana. Kibana lets you visualize your Elasticsearch data and navigate the Elastic Stack.

Usage

Deploy and expose the Kibana web interface with:

juju deploy kibana
juju expose kibana

Kibana is not much use on its own; you'll probably want the full stack:

juju deploy ~elasticsearch-charmers/bundle/elk-stack
juju expose kibana

Browse to http://ip-address to begin searching.

Installation

The Kibana source tarball will be downloaded and verified according to the configured values in 'kibana_source' and 'kibana_source_checksum', which defaults to:

https://artifacts.elastic.co/downloads/kibana/kibana-5.6.7-linux-x86_64.tar.gz

It will, obviously, require internet access on deployed nodes.

This behavior can be bypassed by providing <charm>/files/kibana.tgz payload prior deployment. The given payload will be used, without any checksum verification, and unpacked to /srv/kibana6.

Configuration

Listens on localhost:5601. Uses nginx to redirect ip-addr:80 to localhost:5601. This should allow for haproxy etc to be used in front. You could also configure apache reverse proxy in front if you want SSL / .htaccess

Other

  • supports multiple ES servers in cluster. This should help with balancing the load on ES and dealing with failure.

  • see logstash-indexer charm's README.md file for usage examples.

Deploy / Add Dashboards

The Kibana charm ships with an action to deploy dashboards into the Kibana instance. You will however, have to have them loaded into the charm before the user deploys it, which means a pull request to the upstream charm to include you're awesome dashboard for everyone!

For example, to deploy the included 'beats' dashboard with < Juju 2.0:

juju action do kibana/0 load-dashboard dashboard=beats

For 2.0 +

juju run-action kibana/0 load-dashboard dashboard=beats

This invokes the action, which in turn looks in the 'dashboards' directory for $DASHBOARD_NAME/load.sh

Which is the repository layout adopted by Elasticsearch for their own dashboards. To include your own, simply make a directory, mirror the load.sh script to curl to your elasticsearch instance (by default: localhost:9200 will work as its proxying the connection to your ES cluster) and it will declare any indexes as well as load any dashboard JSON definitions you include. For more information, consult the dashboards/beats/load.sh script.

Custom dashboards can be added by uploading them via juju scp:

juju scp my-dashboard/ kibana/0:dashboards/

Contact Information

Author: Paul Czarkowski paul@paulcz.net Report bugs at: https://bugs.launchpad.net/kibana-charm Location: https://jujucharms.com/kibana/


Configuration

dashboards
(string) Space-separated list of Elasticsearch visualization dashboards to load on deployment. Dashboards must exist in 'dashboards' directory and contain a load.sh script to populate into Elasticsearch. The only dashboard currently supported out-of-the-box is "beats".
kibana_source
(string) URL to download the source for kibana
https://artifacts.elastic.co/downloads/kibana/kibana-oss-6.8.3-linux-x86_64.tar.gz
kibana_source_checksum
(string) the sha1sum of the kibana_source
b482dc0b50bfcac6982c32babc1e425bb8a7267d
path
(string) The url path of kibana. This is required if kibana is proxied at a non root path. e.g. http://example.com/kibana/
port
(int) The tcp port on which nginx will listen.
80