logstash #1

Description

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

Logstash

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

Usage

example 1 - Just the Indexer + Kibana

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

http://ip-of-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

http://ip-of-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

Caveats

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.

Configuration

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

Configuration

nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
extra-packages
(string) Space separated list of extra apt packages to install.
ssl_cert
(string) Base64-encoded SSL certificate
logstash-source
(string) The logstash binary file to install to this charm.
https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
ssl_key
(string) Base64-encoded SSL key
nagios_context
(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.
juju
extra-config
(string) Base64-encoded custom configuration content.
logstash-sum
(string) The checksum value for the logstash file.
d59ef579c7614c5df9bd69cfdce20ed371f728ff
nagios_check_tcp_params
(string) The parameters to pass to the nrpe plugin check_tcp.
--ssl -H localhost -p 5043 -c 0.3
nagios_check_cert_params
(string) The parameters to pass to the nrpe plugin "check_tcp --ssl" to check certificate expiration date.
-D 30,14 -H 127.0.0.1 -p 5043
nagios_check_procs_params
(string) The parameters to pass to the nrpe plugin check_procs.
-a /opt/logstash/lib/logstash/runner.rb -c 1:1