From 9b39e554e118a8ad26b4d8966b660d65a003367f Mon Sep 17 00:00:00 2001 From: Taras Chornyi Date: Fri, 24 Feb 2017 17:29:44 +0000 Subject: docs: update dpdk plugins userguide Change-Id: I1b70864588f5fbace0d4eeb2098cbf00b1f63442 Signed-off-by: Taras Chornyi --- docs/release/userguide/feature.userguide.rst | 83 +++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 13 deletions(-) diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index 75a0e9bc..5ec7442d 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -27,6 +27,9 @@ Barometer has enabled the following collectd plugins: * *dpdkstat plugin*: A read plugin that retrieve stats from the DPDK extended NIC stats API. +* *dpdkevents plugin*: A read plugin that retrieves DPDK link status and DPDK + forwarding cores liveliness status (DPDK Keep Alive). + * `ceilometer plugin`_: A write plugin that pushes the retrieved stats to Ceilometer. It's capable of pushing any stats read through collectd to Ceilometer, not just the DPDK stats. @@ -44,7 +47,7 @@ Barometer has enabled the following collectd plugins: memory Machine Check Exceptions and sends the stats for reported exceptions All the plugins above are available on the collectd master, except for the -plugin as it's a python based plugin and only C plugins are accepted +ceilometer plugin as it's a python based plugin and only C plugins are accepted by the collectd community. The ceilometer plugin lives in the OpenStack repositories. @@ -154,41 +157,95 @@ Building and installing collectd: This will install collectd to /opt/collectd The collectd configuration file can be found at /opt/collectd/etc -To configure the hugepages plugin you need to modify the configuration file to +To configure the dpdkstats plugin you need to modify the configuration file to include: .. code:: bash LoadPlugin dpdkstat - - Coremask "0xf" - ProcessType "secondary" - FilePrefix "rte" - EnabledPortMask 0xffff + + + Coremask "0x2" + MemoryChannels "4" + ProcessType "secondary" + FilePrefix "rte" + + EnabledPortMask 0xffff + PortName "interface1" + PortName "interface2" For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod -Please note if you are configuring collectd with the **static DPDK library** -you must compile the DPDK library with the -fPIC flag: +Please also note that if you are not building and installing DPDK system-wide +you will need to specify the specific paths to the header files and libraries +using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK +library symbols to the shared library path using ldconfig. Note that this +update to the shared library path is not persistant (i.e. it will not survive a +reboot). + +DPDK events plugin +^^^^^^^^^^^^^^^^^^^^^^ +Repo: https://github.com/collectd/collectd + +Branch: master + +Dependencies: DPDK (http://dpdk.org/) + +To build and install DPDK to /usr please see: +https://github.com/collectd/collectd/blob/master/docs/BUILD.dpdkstat.md + +Building and installing collectd: .. code:: bash - $ make EXTRA_CFLAGS=-fPIC + $ git clone https://github.com/maryamtahhan/collectd.git + $ cd collectd + $ ./build.sh + $ ./configure --enable-syslog --enable-logfile --enable-debug + $ make + $ sudo make install -You must also modify the configuration step when building collectd: +This will install collectd to /opt/collectd +The collectd configuration file can be found at /opt/collectd/etc +To configure the dpdkevents plugin you need to modify the configuration file to +include: .. code:: bash - $ ./configure CFLAGS=" -lpthread -Wl,--whole-archive -Wl,-ldpdk -Wl,-lm -Wl,-lrt -Wl,-lpcap -Wl,-ldl -Wl,--no-whole-archive" + LoadPlugin dpdkevents + + Interval 1 + + Coremask "0x1" + MemoryChannels "4" + ProcessType "secondary" + FilePrefix "rte" + + + SendEventsOnUpdate true + EnabledPortMask 0xffff + PortName "interface1" + PortName "interface2" + SendNotification false + + + SendEventsOnUpdate true + LCoreMask "0xf" + KeepAliveShmName "/dpdk_keepalive_shm_name" + SendNotification false + + +For more information on the plugin parameters, please see: +https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod Please also note that if you are not building and installing DPDK system-wide you will need to specify the specific paths to the header files and libraries using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK library symbols to the shared library path using ldconfig. Note that this update to the shared library path is not persistant (i.e. it will not survive a -reboot). Pending a merge of https://github.com/collectd/collectd/pull/2073. +reboot). .. code:: bash -- cgit 1.2.3-korg