969a30c6c7
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>
101 lines
2.5 KiB
ReStructuredText
101 lines
2.5 KiB
ReStructuredText
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
|
|
|
|
.. code-block:: bash
|
|
|
|
cd /opt
|
|
git clone https://git.openstack.org/openstack/openstack-ansible-ops
|
|
|
|
Copy the env.d files into place
|
|
|
|
.. code-block:: bash
|
|
|
|
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
|
|
|
|
.. code-block:: bash
|
|
|
|
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.
|
|
|
|
.. code-block:: bash
|
|
|
|
openstack-ansible playbook-metrics-lb.yml
|
|
|
|
Create the containers
|
|
|
|
.. code-block:: bash
|
|
|
|
openstack-ansible /opt/openstack-ansible/playbooks/lxc-containers-create.yml -e container_group=cluster-metrics
|
|
|
|
Install InfluxDB
|
|
|
|
.. code-block:: bash
|
|
|
|
openstack-ansible playbook-influx-db.yml
|
|
|
|
Clone the Telegraf repo
|
|
|
|
.. code-block:: bash
|
|
|
|
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.
|
|
|
|
.. code-block:: bash
|
|
|
|
openstack-ansible playbook-influx-telegraf.yml --forks 100
|
|
|
|
Install Kapacitor
|
|
|
|
.. code-block:: bash
|
|
|
|
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``:
|
|
|
|
.. code-block:: yaml
|
|
|
|
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 :
|
|
|
|
.. code-block:: bash
|
|
|
|
cd /opt/openstack-ansible/playbooks
|
|
openstack-ansible os-swift-setup.yml --tags swift-config --forks 2
|