kibana #15

  • By containers
  • Latest version (#15)
  • trusty
  • Stable
  • Candidate
  • Beta
  • Edge

alternative (better) logstash frontend

Overview

This charm provides kibana from (http://kibana.org/).
Kibana is a search frontend for logstash.

Using This Charm

using this charm :

juju deploy kibana
juju expose kibana

not much use on its own ... you'll probably want the full stack

juju deploy elasticsearch
juju deploy logstash-indexer
juju add-relation logstash-indexer elasticsearch:cluster
juju deploy kibana
juju add-relation kibana elasticsearch
juju expose kibana

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

Installation

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

https://download.elastic.co/kibana/kibana/kibana-4.2.0-linux-x64.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/kibana4.

Configuration

listens only on localhost:5601. uses rinetd to redirect ip-addr:80 to localhost:5601.
This should allow for haproxy etc to be used in front.
Could 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 a 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, a mirror the launch.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: http://bugs.launchpad.net/charms
Location: http://jujucharms.com

Configuration

kibana_source_checksum
(string)
                            the sha1sum of the kibana_source
                        
094e197c687012211ae0e291faf3111d47e714d9
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://download.elastic.co/kibana/kibana/kibana-4.2.0-linux-x64.tar.gz