logstash #1


Installs the logstash indexer. Initially stand alone version with a
dependency on elasticsearch as the backend provider.


This charm provides LogStash. logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching)

Supported I/O

Inputs :
File - /var/log/syslog and some others
Redis - configured to use redis as a message bus from logstash agents
Outputs :
embedded - embedded elasticsearch ... this is fine for starting off testing, but should really use a real cluster
elasticsearch - creation relationship with elasticsearch charm


example 1 - Just the Indexer + Kibana

juju deploy cs:trusty/logstash
juju deploy cs:precise/kibana
juju add-relation kibana logstash
juju expose kibana


example 2 - Indexer + 2 x ElasticSearch + Kibana

juju deploy cs:trusty/elasticsearch
juju add-unit elasticsearch
juju deploy cs:trusty/logstash
juju add-relation logstash elasticsearch
juju deploy cs:trusty/kibana
juju add-relation kibana elasticsearch:rest
juju expose kibana


example 3 - Agent + Indexer + 2 x ElasticSearch + Kibana

juju deploy cs:trusty/elasticsearch
juju add-unit elasticsearch
juju deploy cs:trusty/logstash-indexer
juju add-relation elasticsearch:cluster logstash-indexer
juju deploy --repository=logstash local:precise/kibana
juju add-relation elasticsearch:rest kibana
juju expose kibana
juju deploy --repository=logstash local:precise/logstash-agent
juju add-relation logstash-agent logstash-indexer:input


The charm will fetch the logstash complete archive every time.

The charm has not been tested for scale and clustering, as each unit installs a stand-alone redis-daemon, it should be treated as a stand alone instance. This is inhereted behavior from the precise Logstash charm.


The charm supports installation from anywhere that python requests can reach and understand. By default it will install a recent revision (1.4.2 as of this writing) from the elasticsearch.org site. this is configurable with 2 options

juju set logstash logstash-source="https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz" logstash-sum="d59ef579c7614c5df9bd69cfdce20ed371f728ff"

There is also a configuration option to add arbitrary packages pre-installation of logstash. The format is a space separated list.

juju set logstash extra-packages='vim byobu'

Contact Information


(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
(string) Space separated list of extra apt packages to install.
(string) Base64-encoded SSL certificate
(string) The logstash binary file to install to this charm.
(string) Base64-encoded SSL key
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
(string) Base64-encoded custom configuration content.
(string) The checksum value for the logstash file.
(string) The parameters to pass to the nrpe plugin check_tcp.
--ssl -H localhost -p 5043 -c 0.3
(string) The parameters to pass to the nrpe plugin "check_tcp --ssl" to check certificate expiration date.
-D 30,14 -H -p 5043
(string) The parameters to pass to the nrpe plugin check_procs.
-a /opt/logstash/lib/logstash/runner.rb -c 1:1