kibana #19

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/kibana5.

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

kibana_source_checksum
(string) the sha1sum of the kibana_source
fba56f9259dbfb9dab4003cf9d00b04549c9b8b1
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
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-5.6.7-linux-x86_64.tar.gz