Multi-node deployment configuration

- Automated the required configurations for the collectd.conf file
 - Enables the virt and network plugins
 - Included a MULTI_NODE_DEPLOYMENT configuration option for this change
 - This is only enabled when the libvirt.py file is not in use
 - Provided instructions on how to deploy multi-node

Change-Id: I151e318074250b94dbef247e6858c78086fcd362
This commit is contained in:
Helena McGough 2017-06-30 15:20:58 +00:00
parent d256ab054a
commit 07ae3f81ba
6 changed files with 102 additions and 0 deletions

View File

@ -115,6 +115,10 @@ function adapt_collectd_conf {
CONF_FILE=$(sudo find /etc -name "collectd.conf")
sudo sed -E -i 's|(^\|^#)Hostname.*$|Hostname "'$(hostname)'"|g' $CONF_FILE
if [[ "$MULTI_NODE_DEPLOYMENT" == "True" ]]; then
sudo cp $COLLECTD_CEILOMETER_DIR/etc/collectd.conf.d/multi-node.conf $COLLECTD_CONF_DIR/
fi
# configure collectd-gnocchi plugin
if [[ "$COLLECTD_GNOCCHI_ENABLED" == "True" ]]; then

View File

@ -32,6 +32,9 @@ OS_IDENTITY_API_VERSION=${IDENTITY_API_VERSION:-3}
# Libvirt meter is deprecated
LIBVIRT_METER_ENABLED=$(trueorfalse False LIBVIRT_METER_ENABLED)
# Multi-node deployment configurations enabled
MULTI_NODE_DEPLOYMENT=$(trueorfalse False MULTI_NODE_DEPLOYMENT)
# Fall back to default conf dir if option is unset
if [ -z $COLLECTD_CONF_DIR ]; then
if is_ubuntu; then

View File

@ -216,3 +216,50 @@ Aodh Tools
$ . tools/delete_alarms.sh
$ sudo service collectd restart
Multi-Node Deployment
---------------------
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:
* Set-up:
To collect metrics from all of the nodes in your deployment collectd must be
installed on each node. But the collectd-ceilometer-plugin only needs to be
configured on the controller node.
* Configuration settings:
- Set the configuration option that follows, in your local.conf on your
controller node to True. This will configure the collectd network plugin:
::
MULTI_NODE_DEPLOYMENT=True
- Enable the collectd network plugin on all of your compute nodes that data
is being collected from. Configure this plugin as follows:
::
LoadPlugin network
<Plugin network>
Server "<CONTROLLER_NODE_HOST_IP>"
</Plugin>
- Enable the collectd virt plugin on all of your compute nodes as well. This
is configured as follows:
::
LoadPlugin virt
<Plugin virt>
Connection <HYPERVISOR_URI>
HostnameFormat uuid
</Plugin>
.. note::
Please refer to the following guide for more collectd network plugin
configuration options:
https://collectd.org/wiki/index.php/Plugin:Network

View File

@ -183,6 +183,14 @@ LIBVIRT_METER_ENABLED
Default: False
MULTI_NODE_DEPLOYMENT
~~~~~~~~~~~~~~~~~~~~~
(True|False) Configures the collectd "network" plugin on the controller
node of a multi-node deployment.
Default: False
Authenticating using Identity Server API v3
-------------------------------------------

View File

@ -0,0 +1,32 @@
LoadPlugin network
<Plugin network>
# # client setup:
# Server "ff18::efc0:4a42" "25826"
# <Server "239.192.74.66" "25826">
# SecurityLevel Encrypt
# Username "user"
# Password "secret"
# Interface "eth0"
# ResolveInterval 14400
# </Server>
# TimeToLive 128
#
# # server setup:
Listen "::"
# <Listen "239.192.74.66" "25826">
# SecurityLevel Sign
# AuthFile "/etc/collectd/passwd"
# Interface "eth0"
# </Listen>
# MaxPacketSize 1452
#
# # proxy setup (client and server as above):
# Forward true
#
# # statistics about the network plugin itself
# ReportStats false
#
# # "garbage collection"
# CacheFlush 1800
</Plugin>

View File

@ -0,0 +1,8 @@
---
other:
- |
Include a MULTI_NODE_DEPLOYMENT configuration option for devstack, which
configures the collectd network plugin on the controller node.
Documentation is also included on how to configure collectd on the compute
nodes. All of the compute nodes require collectd to be installed with the
network and virt plugins to be configured.