This change introduces grafana into the stack which gives us a great way to visualize the data. The grafana role from cloudalchemy is being used for the bulk of the deployment. Because the grafana deployment playbook is now standalone the mentions of grafana in the other ops directories have been removed. Change-Id: I23e1c96cd1fda7ece9b86a69f9f0326913de714d Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
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.openstack.org/openstack/openstack-ansible-opsCopy 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.pyIf you are running the HA Proxy you should run the following playbook as well.
openstack-ansible playbook-metrics-lb.ymlCreate the containers
openstack-ansible /opt/openstack-ansible/playbooks/lxc-containers-create.yml -e container_group=cluster-metricsInstall InfluxDB
openstack-ansible playbook-influx-db.ymlClone the Telegraf repo
git clone https://github.com/mgrzybek/openstack-ansible-telegraf /etc/ansible/roles/openstack-ansible-telegrafInstall 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 100Install Kapacitor
openstack-ansible playbook-kapacitor.ymlOpenStack 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: 8125Rewrite the swift proxy server configuration with :
cd /opt/openstack-ansible/playbooks
openstack-ansible os-swift-setup.yml --tags swift-config --forks 2