openstack-ansible-ops/cluster_metrics
melissaml 87cbdd6649 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I790c1876a3e44da8623c74632332f0e453dce1f6
2019-07-09 16:36:22 +00:00
..
etc/env.d Remove empty file 2018-02-23 16:29:22 +07:00
files Added kvm_virsh to telegraf plugins 2017-01-10 18:02:49 +00:00
grafana-dashboards Fixing timing_counter based swift graphs 2017-06-27 15:42:09 -05:00
handlers implement minimal metric collection 2016-09-09 13:08:38 -05:00
kapacitor_files Added kapacitor scripts 2017-01-26 22:10:45 +00:00
templates Add grafana 2018-04-13 10:31:34 -05:00
ansible.cfg implement minimal metric collection 2016-09-09 13:08:38 -05:00
playbook-influx-db.yml Merge "Adding influx relay to make the existing monitoring stack highly available" 2016-11-17 13:40:58 +00:00
playbook-influx-telegraf.yml Moving telegraf-plugins to drop them properly 2018-03-08 14:20:02 +01:00
playbook-kapacitor.yml Added kapacitor scripts 2017-01-26 22:10:45 +00:00
playbook-metrics-lb.yml Add grafana 2018-04-13 10:31:34 -05:00
readme.rst Replace git.openstack.org URLs with opendev.org URLs 2019-07-09 16:36:22 +00:00
vars.yml Add grafana 2018-04-13 10:31:34 -05:00

Gather and visualize cluster wide metrics

date

2017-12-01

tags

openstack, ansible

category

*openstack, *nix

About this repository

This set of playbooks will deploy InfluxDB, Telegraf, and Kapacitor for the purpose of collecting metrics on an OpenStack cluster.

Process

Clone the OPS repo

cd /opt
git clone https://git.opendev.org/openstack/openstack-ansible-ops

Copy the env.d files into place

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

Add the export to update the inventory file location

export ANSIBLE_INVENTORY=/opt/openstack-ansible/playbooks/inventory/dynamic_inventory.py

If you are running the HA Proxy you should run the following playbook as well.

openstack-ansible playbook-metrics-lb.yml

Create the containers

openstack-ansible /opt/openstack-ansible/playbooks/lxc-containers-create.yml -e container_group=cluster-metrics

Install InfluxDB

openstack-ansible playbook-influx-db.yml

Clone the Telegraf repo

git clone https://github.com/mgrzybek/openstack-ansible-telegraf /etc/ansible/roles/openstack-ansible-telegraf

Install Influx Telegraf

If you wish to install telegraf and point it at a specific target, or list of targets, set the telegraf_output_influxdb_targets variable in the user_variables.yml file as a list containing all targets that telegraf should ship metrics to.

openstack-ansible playbook-influx-telegraf.yml --forks 100

Install Kapacitor

openstack-ansible playbook-kapacitor.yml

OpenStack Swift PRoxy Server Dashboard

Once the telegraf daemon is installed onto each host, the Swift proxy-server can be instructed to forward statsd metrics to telegraf. The following configuration enabled the metric generation and need to be added to the user_variables.yml:

swift_proxy_server_conf_overrides:
  DEFAULT:
    log_statsd_default_sample_rate: 10
    log_statsd_metric_prefix: "{{ inventory_hostname }}.swift"
    log_statsd_host: localhost
    log_statsd_port: 8125

Rewrite the swift proxy server configuration with :

cd /opt/openstack-ansible/playbooks
openstack-ansible os-swift-setup.yml --tags swift-config --forks 2