brooklyn.catalog: | |
version: 1.0.0-SNAPSHOT | |
iconUrl: https://static-www.elastic.co/assets/blt6c40e42f467aa55c/icon-kibana.svg | |
items: | |
- id: kibana-standalone | |
name: "Kibana server" | |
description: Kibana server. Callers should configure 'kibana.elasticsearch.ip' | |
item: | |
type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess | |
provisioning.properties: | |
osFamily: ubuntu | |
brooklyn.config: | |
install.version: "4.6.1" | |
kibana.elasticsearch.ip: 127.0.0.1 # must be supplied by caller! | |
kibana.elasticsearch.port: 9200 # must be supplied by caller! | |
kibana.port: 5601 | |
shell.env: | |
KIBANA_VERSION: $brooklyn:config("install.version") | |
ELASTICSEARCH_IP: $brooklyn:config("kibana.elasticsearch.ip") | |
ELASTICSEARCH_PORT: $brooklyn:config("kibana.elasticsearch.port") | |
KIBANA_PORT: $brooklyn:config("kibana.port") | |
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/kibana/4.6/debian stable main" | sudo tee -a /etc/apt/sources.list.d/kibana.list | |
# Install pre-reqs and kibana | |
sudo apt-get update && sudo apt-get -y install kibana=${KIBANA_VERSION} | |
# customize config file for kibana | |
sudo sed -i 's|# elasticsearch.url: "http://localhost:9200"|elasticsearch.url: "http://'"${ELASTICSEARCH_IP}"':'"${ELASTICSEARCH_PORT}"'"|g' /opt/kibana/config/kibana.yml | |
sudo sed -i 's|5601|'"${KIBANA_PORT}"'|g' /opt/kibana/config/kibana.yml | |
sudo sed -i 's|# log_file: ./kibana.log|log_file: ./kibana.log|g' /opt/kibana/config/kibana.yml | |
sudo update-rc.d kibana defaults 95 10 | |
sudo /bin/systemctl daemon-reload | |
sudo /bin/systemctl enable kibana.service | |
#sudo systemctl start kibana.service | |
launch.command: sudo systemctl start kibana.service | |
stop.command: sudo systemctl stop kibana.service | |
checkRunning.command: sudo systemctl status kibana.service | |
brooklyn.enrichers: | |
- type: org.apache.brooklyn.enricher.stock.Transformer | |
brooklyn.config: | |
enricher.sourceSensor: $brooklyn:sensor("host.address") | |
enricher.targetSensor: $brooklyn:sensor("main.uri") | |
enricher.targetValue: $brooklyn:formatString("http://%s:%s", $brooklyn:attributeWhenReady("host.address"), $brooklyn:config("kibana.port")) |