diff --git a/devstack/libs/collectd b/devstack/libs/collectd
index 628a7cc..d6023e0 100644
--- a/devstack/libs/collectd
+++ b/devstack/libs/collectd
@@ -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
diff --git a/devstack/settings b/devstack/settings
index cd67732..d028d8a 100644
--- a/devstack/settings
+++ b/devstack/settings
@@ -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
diff --git a/doc/source/devstackGSG.rst b/doc/source/devstackGSG.rst
index 9788def..a168565 100644
--- a/doc/source/devstackGSG.rst
+++ b/doc/source/devstackGSG.rst
@@ -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
+
+ Server ""
+
+
+ - Enable the collectd virt plugin on all of your compute nodes as well. This
+ is configured as follows:
+
+ ::
+
+ LoadPlugin virt
+
+ Connection
+ HostnameFormat uuid
+
+
+
+ .. note::
+
+ Please refer to the following guide for more collectd network plugin
+ configuration options:
+ https://collectd.org/wiki/index.php/Plugin:Network
diff --git a/doc/source/usage.rst b/doc/source/usage.rst
index 396f36b..dab5359 100644
--- a/doc/source/usage.rst
+++ b/doc/source/usage.rst
@@ -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
-------------------------------------------
diff --git a/etc/collectd.conf.d/multi-node.conf b/etc/collectd.conf.d/multi-node.conf
new file mode 100644
index 0000000..d292cc9
--- /dev/null
+++ b/etc/collectd.conf.d/multi-node.conf
@@ -0,0 +1,32 @@
+LoadPlugin network
+
+
+# # client setup:
+# Server "ff18::efc0:4a42" "25826"
+#
+# SecurityLevel Encrypt
+# Username "user"
+# Password "secret"
+# Interface "eth0"
+# ResolveInterval 14400
+#
+# TimeToLive 128
+#
+# # server setup:
+ Listen "::"
+#
+# SecurityLevel Sign
+# AuthFile "/etc/collectd/passwd"
+# Interface "eth0"
+#
+# MaxPacketSize 1452
+#
+# # proxy setup (client and server as above):
+# Forward true
+#
+# # statistics about the network plugin itself
+# ReportStats false
+#
+# # "garbage collection"
+# CacheFlush 1800
+
diff --git a/releasenotes/notes/multi-node-f1dc4960570af3c5.yaml b/releasenotes/notes/multi-node-f1dc4960570af3c5.yaml
new file mode 100644
index 0000000..9096aa8
--- /dev/null
+++ b/releasenotes/notes/multi-node-f1dc4960570af3c5.yaml
@@ -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.