blob: 95f2f4fc69495a9571b87c05106c0bb64f746ad5 [file] [log] [blame]
brooklyn.catalog:
version: 1.0.0-SNAPSHOT
iconUrl: https://static-www.elastic.co/assets/blte39224bc57d3e015/icon-logstash.svg
items:
- id: logstash-standalone
name: "Logstash server"
description: "Single Logstash server"
item:
type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
provisioning.properties:
osFamily: ubuntu
brooklyn.config:
install.version: "2.4.0"
logstash.config.input: input { file { path => "/var/log/*" } }
logstash.config.filter: ''
logstash.config.output:
$brooklyn:formatString:
- |
output {
elasticsearch {
hosts => %s
}
}
- $brooklyn:config("logstash.elasticsearch.hosts")
logstash.config.dir: /etc/logstash/conf.d
shell.env:
LOGSTASH_VERSION: $brooklyn:config("install.version")
INPUT_CONFIG: $brooklyn:config("logstash.config.input")
FILTER_CONFIG: $brooklyn:config("logstash.config.filter")
OUTPUT_CONFIG: $brooklyn:config("logstash.config.output")
CONFIG_DIR: $brooklyn:config("logstash.config.dir")
ELASTICSEARCH_HOSTS: $brooklyn:config("logstash.elasticsearch.hosts")
install.command: |
#Update the system
sudo apt-get update
# Download the cert and repository
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://packages.elastic.co/logstash/2.4/debian stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update && sudo apt-get -y install openjdk-8-jre logstash
# add a config file for logstash
sudo mkdir -p ${CONFIG_DIR}
echo "${INPUT_CONFIG} ${FILTER_CONFIG} ${OUTPUT_CONFIG}" | sudo tee ${CONFIG_DIR}/01-basic.conf
launch.command: sudo systemctl start logstash.service
stop.command: sudo systemctl stop logstash.service
checkRunning.command: sudo systemctl status logstash.service
- id: logstash-child
name: "Logstash Child"
description: |
Logstash server to be embedded as a child of a SoftwareProcess that
publishes its 'log.location' as a sensor.
Callers should configure 'logstash.elasticsearch.hosts' (if using ES)
or 'logstash.config.output'.
item:
type: logstash-standalone
brooklyn.config:
logstash.elasticsearch.host: 127.0.0.1:9200 # must be supplied by caller!