1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) OPNFV, Intel Corporation and others.
5 ==============================
6 collectd VES plugin User Guide
7 ==============================
8 The Barometer repository contains a python based write plugin for VES.
10 The plugin currently supports pushing platform relevant metrics through the
11 additional measurements field for VES.
13 **Please note**: Hardcoded configuration values will be modified so that they
14 are configurable through the configuration file.
16 Installation Instructions:
17 --------------------------
23 $ sudo apt-get install collectd
25 3. Modify the collectd configuration script: `/etc/collectd/collectd.conf`
34 ModulePath "/path/to/your/python/modules"
39 # VES plugin configuration (see next section below)
43 where "/path/to/your/python/modules" is the path to ves_plugin.py,
44 which is located in this repo.
46 VES python plugin configuration description:
47 --------------------------------------------
49 **Note** Details of the Vendor Event Listener REST service
51 REST resources are defined with respect to a ServerRoot:
55 ServerRoot = https://{Domain}:{Port}/{optionalRoutingPath}
57 REST resources are of the form:
61 {ServerRoot}/eventListener/v{apiVersion}`
62 {ServerRoot}/eventListener/v{apiVersion}/{topicName}`
63 {ServerRoot}/eventListener/v{apiVersion}/eventBatch`
66 VES domain name. It can be IP address or hostname of VES collector
67 (default: `127.0.0.1`)
70 VES port (default: `30000`)
73 Used as the "optionalRoutingPath" element in the REST path (default: `empty`)
76 Used as the "topicName" element in the REST path (default: `empty`)
78 **UseHttps** *true|false*
79 Allow plugin to use HTTPS instead of HTTP (default: `false`)
81 **Username** *"username"*
82 VES collector user name (default: `empty`)
84 **Password** *"passwd"*
85 VES collector password (default: `empty`)
87 **FunctionalRole** *"role"*
88 Used as the 'functionalRole' field of 'commonEventHeader' event (default:
91 **SendEventInterval** *interval*
92 This configuration option controls how often (sec) collectd data is sent to
93 Vendor Event Listener (default: `20`)
95 **ApiVersion** *version*
96 Used as the "apiVersion" element in the REST path (default: `5.1`)
98 Other collectd.conf configurations
99 ----------------------------------
100 Please ensure that FQDNLookup is set to false
106 Please ensure that the virt plugin is enabled and configured as follows.
113 Connection "qemu:///system"
116 PluginInstanceFormat name
117 ExtraStats "cpu_util perf"
121 .. note:: For more detailed information on the `virt` plugin configuration,
122 requirements etc., please see the userguide of the collectd virt plugin.
124 Please ensure that the cpu plugin is enabled and configured as follows
132 ValuesPercentage true
135 To report the host name as a UUID the uuid plugin can be used.
141 If a custom UUID needs to be provided, the following configuration is required in collectd.conf
150 Where "/etc/uuid" is a file containing custom UUID.
152 Please also ensure that the following plugins are enabled:
160 VES plugin notification example
161 -------------------------------
163 A good example of collectD notification is monitoring of the total CPU usage on a VM
164 using the 'threshold' plugin. The following configuration will setup VES plugin to send 'Fault'
165 event every time a total VM CPU value is out of range (e.g.: WARNING: VM CPU TOTAL > 50%,
166 CRITICAL: VM CPU TOTAL > 96%) and send 'Fault' NORMAL event if the CPU value is back
167 to normal. In the example below, there is one VM with two CPUs configured which is running
168 on the host with a total of 48 cores. Thus, the threshold value 2.08 (100/48) means that
169 one CPU of the VM is fully loaded (e.g.: 50% of total CPU usage of the VM) and 4.0 means
170 96% of total CPU usage of the VM. Those values can also be obtained by virt-top
182 Instance "virt_cpu_total"
187 More detailed information on how to configure collectD thresholds can be found at
188 https://collectd.org/documentation/manpages/collectd-threshold.5.shtml