openstack-ansible-ops/elk_metrics
Ala Raddaoui b7a6ceb086 Added playbooks to install ELK stack with topbeat
This set of playbooks install an Elasticsearch cluster,
Logstash and a kibana dashboard inside containers
and then install Topbeat in your cloud to ship system metrics
to the Elastic cluster.

Change-Id: I0c8c853ee48bd9278bd7b08719be4bde5f8c3df6
2017-12-20 13:27:22 +00:00
..
conf.d Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
env.d Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
templates Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
vars Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
installElastic.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
installKibana.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
installLogstash.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
installTopbeat.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
loadKibana.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
readme.rst Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00
reverseProxyKibana.yml Added playbooks to install ELK stack with topbeat 2017-12-20 13:27:22 +00:00

install Elk stack with topbeat to gather metrics

tags

openstack, ansible

About this repository

This set of playbooks will deploy elk cluster (Elasticsearch, Logstash, Kibana) with topbeat to gather metrics from hosts metrics to the ELK cluster.

Process

Clone the elk-osa repo

cd /opt
git clone https://github.com/openstack/openstack-ansible-ops

Copy the env.d file into place

cd openstack-ansible-ops
cp env.d/elk.yml /etc/openstack_deploy/env.d/

Copy the conf.d file into place

cp conf.d/elk.yml /etc/openstack_deploy/conf.d/

In elk.yml, list your logging hosts under elastic-logstash_hosts to create the elasticsearch cluster in multiple containers and one logging host under kibana_hosts to create the kibana container

vi /etc/openstack_deploy/conf.d/elk.yml

Create the containers

cd /opt/openstack-ansible-playbooks
openstack-ansible lxc-containers-create.yml -e 'container_group=elastic-logstash:kibana'

install master/data elasticsearch nodes on the elastic-logstash containers

cd /opt/openstack-ansible-ops
openstack-ansible installElastic.yml -e elk_hosts=elastic-logstash -e node_master=true -e node_data=true

Install an Elasticsearch client on the kibana container to serve as a loadbalancer for the Kibana backend server

openstack-ansible installElastic.yml -e elk_hosts=kibana -e node_master=false -e node_data=false

Install Logstash on all the elastic containers

openstack-ansible installLogstash.yml

InstallKibana on the kibana container

openstack-ansible installKibana.yml

(Optional) Reverse proxy kibana container to your loadbalancer host

openstack-ansible reverseProxyKibana.yml

load topbeat indices into elastic-search and kibana

openstack-ansible loadKibana.yml

install Topbeat everywhere to start shipping metrics to our logstash instances

openstack-ansible installTopbeat.yml --forks 100