src: build all dependencies and plugins
[barometer.git] / docs / userguide / collectd.userguide.rst
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.
4
5 collectd plugins
6 =================
7 Barometer has enabled the following collectd plugins:
8
9 * dpdkstat plugin: A read plugin that retrieve stats from the DPDK extended
10    NIC stats API.
11
12 * `ceilometer plugin`_: A write plugin that pushes the retrieved stats to
13   Ceilometer. It's capable of pushing any stats read through collectd to
14   Ceilometer, not just the DPDK stats.
15
16 * hugepages plugin:  A read plugin that retrieves the number of available
17   and free hugepages on a platform as well as what is available in terms of
18   hugepages per socket.
19
20 * RDT plugin: A read plugin that provides the last level cache utilitzation and
21   memory bandwidth utilization
22
23 * Open vSwitch events Plugin: A read plugin that retrieves events from OVS.
24
25 All the plugins above are available on the collectd master, except for the
26 ceilometer plugin as it's a python based plugin and only C plugins are accepted
27 by the collectd community. The ceilometer plugin lives in the OpenStack
28 repositories.
29
30 Other plugins under development or existing as a pull request into collectd master:
31
32 * dpdkevents:  A read plugin that retrieves DPDK link status and DPDK
33   forwarding cores liveliness status (DPDK Keep Alive).
34
35 * Open vSwitch stats Plugin: A read plugin that retrieve flow and interface
36   stats from OVS.
37
38 * mcelog plugin: A read plugin that uses mcelog client protocol to check for
39   memory Machine Check Exceptions and sends the stats for reported exceptions.
40
41 * SNMP write: A write plugin that will act as a SNMP subagent and will map
42   collectd metrics to relavent OIDs. Will only support SNMP: get, getnext and
43   walk.
44
45 * Legacy/IPMI: A read plugin that will report platform thermals, voltages,
46   fanspeed....
47
48 Building collectd with the Barometer plugins and installing the dependencies
49 =============================================================================
50 The plugins that have been merged to master can all be built and configured through
51 the barometer repository.
52
53 **Note**: sudo permissions are required to install collectd.
54
55 **Note**: These are instructions for Ubuntu 16.04.
56
57 To build and install these dependencies, clone the barometer repo:
58
59 .. code:: c
60
61     $ git clone https://gerrit.opnfv.org/gerrit/barometer
62
63 Install the build dependencies
64
65 .. code:: bash
66
67     $ ./src/install_build_deps.sh
68
69 To install collectd as a service and install all it's dependencies:
70
71 .. code:: bash
72
73     $ cd barometer/src && sudo make && sudo make install
74
75 This will install collectd as a service and the base install directory
76 is /opt/collectd.
77
78 Sample configuration files can be found in '/opt/collectd/etc/collectd.conf.d'
79
80 Please note if you are using any Open vSwitch plugins you need to run:
81
82 .. code:: bash
83
84     $ sudo ovs-vsctl set-manager ptcp:6640
85
86 Monitoring Interfaces and Openstack Support
87 -------------------------------------------
88 .. Figure:: monitoring_interfaces.png
89
90    Monitoring Interfaces and Openstack Support
91
92 The figure above shows the DPDK L2 forwarding application running on a compute
93 node, sending and receiving traffic. collectd is also running on this compute
94 node retrieving the stats periodically from DPDK through the dpdkstat plugin
95 and publishing the retrieved stats to Ceilometer through the ceilometer plugin.
96
97 To see this demo in action please checkout: `Barometer OPNFV Summit demo`_
98
99 References
100 ----------
101 [1] https://collectd.org/wiki/index.php/Naming_schema
102 [2] https://github.com/collectd/collectd/blob/master/src/daemon/plugin.h
103 [3] https://collectd.org/wiki/index.php/Value_list_t
104 [4] https://collectd.org/wiki/index.php/Data_set
105 [5] https://collectd.org/documentation/manpages/types.db.5.shtml
106 [6] https://collectd.org/wiki/index.php/Data_source
107 [7] https://collectd.org/wiki/index.php/Meta_Data_Interface
108
109 .. _Barometer OPNFV Summit demo: https://prezi.com/kjv6o8ixs6se/software-fastpath-service-quality-metrics-demo/
110 .. _ceilometer plugin: https://github.com/openstack/collectd-ceilometer-plugin/tree/stable/mitaka