X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=docs%2FBUILD.dpdkstat.md;h=46eaae9254f8fb90c87f6a7fcf1863b2b0e514e5;hb=35a6c9c5fcd87cb78451a974c4d5b5707926845c;hp=b502edd2d3b462a7bdfd53db090bf27d18fe2de9;hpb=8c5927c52f4eefebaad3a6ecadc253ee9007ebb5;p=collectd.git diff --git a/docs/BUILD.dpdkstat.md b/docs/BUILD.dpdkstat.md index b502edd2..46eaae92 100644 --- a/docs/BUILD.dpdkstat.md +++ b/docs/BUILD.dpdkstat.md @@ -1,7 +1,17 @@ # The dpdkstat plugin +This plugin is optional and only has a specific use case: monitoring DPDK applications +that don't expose stats in any other way than the DPDK xstats API. + **Data Plane Development Kit** (DPDK) is a set of drivers and libraries for fast -packet processing. +packet processing. Please note that this plugin is a polling based plugin rather +than an events based plugin (using it will drive up core utilization on a system). + +**PLEASE DO NOT USE THIS PLUGIN FOR OVS-DPDK**. dpdkstat is really for DPDK +applications that have no other way of exposing stats. For OVS or OVS-with-DPDK the +Open vSwitch plugins available in collectd 5.8.0 should be used for +collecting stats and events. In addition the OVS plugin is events based rather +than polling based and will have a smaller footprint on the system. ## Summary @@ -51,8 +61,8 @@ instruction set manually: mount -t hugetlbfs nodev /mnt/huge echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - * To configure the DPDK build for the combined shared library modify - `config/common_base` in your DPDK as follows + * To configure the DPDK build for the combined shared library and enable autoload + of pmd drivers modify `config/common_base` in your DPDK as follows # # Compile to share library @@ -60,6 +70,10 @@ instruction set manually: -CONFIG_RTE_BUILD_SHARED_LIB=n +CONFIG_RTE_BUILD_SHARED_LIB=y + # Default driver path (or "" to disable) + -CONFIG_RTE_EAL_PMD_PATH="" + +CONFIG_RTE_EAL_PMD_PATH="/usr/lib/dpdk-pmd/" + * Prepare the configuration for the appropriate target as specified at: http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html. @@ -75,6 +89,14 @@ instruction set manually: sudo make install prefix=/usr + * Create dpdk-pmd folder + + mkdir -p /usr/lib/dpdk-pmd + + * Create symlinks to pmd drivers + + find /usr/lib -type f -name 'librte_pmd*' | while read path ; do ln -s $path /usr/lib/dpdk-pmd/`echo $path | grep -o 'librte_.*so'` ; done + **Note 1:** You must run make install as the configuration of collectd with DPDK expects DPDK to be installed somewhere. @@ -84,6 +106,9 @@ instruction set manually: **Note 3:** If you are not root then use sudo to make install DPDK to the appropriate location. + **Note 4:** You **MUST** create symlink to a NIC driver lib. This way collectd + will be able to work with device bound to dpdk. + * Check that the DPDK library has been installed in `/usr/lib` or `/lib`: ls /usr/lib | grep dpdk