This guide outlines how to install the collectd-ceilometer-plugin using DevStack.
Follow the instructions provided in the following documentation to set up your own DevStack.
Once DevStack is ready to be deployed, follow the configuration steps in the next section to allow the installation of the plugin during deployment.
These configuration instructions only allow for the minimal installation of collectd, gnocchi, aodh and the plugins in this repo. The sample local.conf provided must be edited to enable additional services.
To configure DevStack for to install the plugin, download the sample local.conf from the collectd-ceilometer-plugin repo into your DevStack directory.
$ cd devstack $ wget https://github.com/openstack/collectd-ceilometer-plugin/blob/master/doc/source/examples/local.conf.minimal
Edit the "HOST_IP" varible to appropriately match your environment.
If you wish to enable any extra features please follow the instructions in the "Additional Features" section below before moving on to the next step.
Create your DevStack environment:
Confirm that the collectd service is up and running:
$ sudo systemctl status collectd.service
By default, collectd enables the "cpu.cpu" metric. Check that the statistics for this metric are being sent to gnocchi, thus confirming that collectd is working with gnocchi.
The commands you can use are:
$ openstack metric metric list
to get a list of available metrics and
$ openstack metric measures show <metric id>
to see the measures.
This feature enables users to define new units for existing meter values. To enable this feature execute the following instructions:
To include your new units, add the following line with your chosen units to your local.conf file.
If you would like to add more than one new unit include them in the same line and seperate each meter and its unit with a comma, as shown below.
COLLECTD_CUSTOM_UNITS="<meter> <unit>,<meter> <unit>"
This feature enables users to define new packages to be installed when building collectd.
To deploy with gnocchi using DevStack, add the following to you local.conf:
enable_plugin collectd-ceilometer-plugin http://github.com/openstack/collectd-ceilometer-plugin COLLECTD_INSTALL=True # GNOCCHI enable_plugin gnocchi https://github.com/gnocchixyz/gnocchi stable/3.1 GNOCCHI_USE_KEYSTONE=True COLLECTD_GNOCCHI_ENABLED=True
Gnocchi Tools ~~~~~~~~~~~~
delete_metrics A delete metrics tool is available to delete all metrics. This tool has to be used manually. See <tools/delete_metrics.sh> To delete all of the pre-existing metrics, just run the following command:
$ . tools/delete_metrics.sh
Aodh is an alarming service that allows an alarm to be created and/or updated if there is something unusual happening with the system. When this service is enabled via the collectd-ceilometer-plugin, it allows alarms to be created/updated for all notifications sent from collectd. All notifications sent from collectd are configured as event alarms in aodh. To enable aodh with collectd, add the following to your local.conf:
# AODH enable_plugin aodh https://git.openstack.org/openstack/aodh COLLECTD_AODH_ENABLED=True
This plugin allows you to specify the severity of the alarms that will be created for meters. To enable this add the following line to your local.conf, once you have enabled the collectd-aodh-plugin:
You can set this severity to be one of three settings "low", "moderate" or "critical". If you leave this unset for any of the meters that trigger an alarm severity will default to "moderate".
In addition to this, alarms can be created manually via the aodh command line based on the metrics generated by the gnocchi plugin. For more information on this please read <alarms_guide.rst>
Finally an alarm can also be created in a heat template. The instructions for this are provided in <heat_scaling_guide.rst>
This enables you to scale a resource that you define based on the triggering of an alarm.
Aodh Tools ~~~~~~~~~
delete_alarms When collectd is restarted duplicate alarms can be created if the same configuration is used. A delete alarms tool has been provided to allow deletion of all alarms before collectd restart. See </tools/delete_alarms.sh> To delete all of the alarms, just run the following command prior to restarting collectd:
$ . tools/delete_alarms.sh $ sudo service collectd restart
The collectd-ceilometer-plugin can be used on a multi-node deployment. The following is description of deployment options and configurations for a multi-node setup:
LoadPlugin network <Plugin network> Server "<CONTROLLER_NODE_HOST_IP>" </Plugin>
LoadPlugin virt <Plugin virt> Connection <HYPERVISOR_URI> HostnameFormat uuid </Plugin>
Please refer to the following guide for more collectd network plugin configuration options: https://collectd.org/wiki/index.php/Plugin:Network