- cpufreq
CPU frequency (For laptops with speed step or a similar technology)
+ - cpusleep
+ CPU sleep: Time spent in suspend (For mobile devices which enter suspend automatically)
+
- curl
Parse statistics from websites using regular expressions.
- gmond
Receive multicast traffic from Ganglia instances.
+ - gps
+ Monitor gps related data through gpsd.
+
- grpc
- Receive values over the network using the gRPC framework.
+ Send and receive values over the network using the gRPC framework.
- hddtemp
Hard disk temperatures using hddtempd.
+ - hugepages
+ Report the number of used and free hugepages. More info on
+ hugepages can be found here:
+ https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt.
+
- interface
Interface traffic: Number of octets, packets and errors for each
interface.
Detailed CPU statistics of the “Logical Partitions” virtualization
technique built into IBM's POWER processors.
+ - lua
+ The Lua plugin implements a Lua interpreter into collectd. This
+ makes it possible to write plugins in Lua which are executed by
+ collectd without the need to start a heavy interpreter every interval.
+ See collectd-lua(5) for details.
+
- lvm
Size of “Logical Volumes” (LV) and “Volume Groups” (VG) of Linux'
“Logical Volume Manager” (LVM).
collectd without the need to start a heavy interpreter every interval.
See collectd-python(5) for details.
+ - rdtmon
+ The rdtmon plugin collects information provided by monitoring features of
+ Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring
+ Technology (CMT), Memory Bandwidth Monitoring (MBM). These features
+ provide information about utilization of shared resources like last level
+ cache occupacy, local memory bandwidth usage, remote memory bandwidth
+ usage, instructions per clock.
+ <https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-allocation-technology-code-and-data>
+
- redis
The redis plugin gathers information from a Redis server, including:
uptime, used memory, total connections etc.
diskspace but is extremely portable and can be analysed with almost
every program that can analyse anything. Even Microsoft's Excel..
+ - lua
+ It's possible to implement write plugins in Lua using the Lua
+ plugin. See collectd-lua(5) for details.
+
- network
Send the data to a remote host to save the data somehow. This is useful
for large setups where the data should be saved by a dedicated machine.
Used by the `network' plugin for encryption and authentication.
<http://www.gnupg.org/>
+ * libgps (optional)
+ Used by the `gps' plugin.
+ <http://developer.berlios.de/projects/gpsd/>
+
* libhal (optional)
If present, the `uuid' plugin will check for UUID from HAL.
<http://hal.freedesktop.org/>
Used by the `openldap' plugin.
<http://www.openldap.org/>
+ * liblua (optional)
+ Used by the `lua' plugin. Currently, Lua 5.1 and later are supported.
+ <https://www.lua.org/>
+
* liblvm2 (optional)
Used by the `lvm' plugin.
<ftp://sources.redhat.com/pub/lvm2/>
The PostgreSQL C client library used by the `postgresql' plugin.
<http://www.postgresql.org/>
+ * libpqos (optional)
+ The PQoS library for Intel(R) Resource Director Technology used by the
+ `rdtmon' plugin.
+ <https://github.com/01org/intel-cmt-cat>
+
* libprotobuf, protoc 3.0+ (optional)
Used by the `grpc' plugin to generate service stubs and code to handle
network packets of collectd's protobuf-based network protocol.
<http://code.google.com/p/protobuf-c/>
* libpython (optional)
- Used by the `python' plugin. Currently, Python 2.3 and later and Python 3
+ Used by the `python' plugin. Currently, Python 2.6 and later and Python 3
are supported.
<http://www.python.org/>
Configuring with DPDK
---------------------
-Note: DPDK 16.04 is the minimum version of DPDK required for the dpdkstat
-plugin. This is to allow the plugin to take advantage of functions added to
-detect if the DPDK primary process is alive.
+Note: DPDK 16.04 is the minimum version and currently supported version of DPDK
+required for the dpdkstat plugin. This is to allow the plugin to take advantage
+of functions added to detect if the DPDK primary process is alive.
+
+Note: For Ubuntu, GCC 4.9 is the minimum version required to build collectd
+with DPDK. Ubuntu 14.04, for example, has GCC 4.8 by default and will require
+an upgrade:
+ $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
+ $ sudo apt-get update
+ $ sudo apt-get install gcc-4.9
+Alternatively, if you know that the platform that you wish to run collectd
+on supports the SSSE3 instruction set, you can run make as follows:
+ $ make -j CFLAGS+='-mssse3'
Build DPDK for use with collectd:
To compile DPDK for use with collectd dpdkstat start by:
booted at system startup time.
- Run ldconfig to update the shared library cache.
+ Build static DPDK library for use with collectd:
+ - To configure DPDK to build the combined static library libdpdk.a
+ ensure that CONFIG_RTE_BUILD_SHARED_LIB is set to n in
+ config/common_base in your DPDK as follows:
+ #
+ # Compile to share library
+ #
+ CONFIG_RTE_BUILD_SHARED_LIB=n
+ - Prepare the configuration for the appropriate target as specified at:
+ http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html.
+ For example:
+ $ make config T=x86_64-native-linuxapp-gcc
+ - Build the target using -fPIC:
+ $ make EXTRA_CFLAGS=-fPIC -j
+ - Install DPDK to /usr
+ $ sudo make install prefix=/usr
+
Configure collectd with DPDK:
NOTE: The Address-Space Layout Randomization (ASLR) security feature in Linux should
be disabled, in order for the same hugepage memory mappings to be present in all
See http://dpdk.org/doc/guides/prog_guide/multi_proc_support.html
- Generate the build script as specified below. (i.e. run `build.sh').
- - Configure collectd with the DPDK library:
+ - Configure collectd with the DPDK shared library:
./configure --with-libdpdk=/usr
+ NOTE: To configure collectd with the DPDK static library:
+ ./configure --with-libdpdk=/usr CFLAGS=" -lpthread -Wl,--whole-archive
+ -Wl,-ldpdk -Wl,-lm -Wl,-lrt -Wl,-lpcap -Wl,-ldl -Wl,--no-whole-archive"
Libraries:
...
- Build collectd:
$ make -j && make -j install.
- NOTE: If you are building on Ubuntu 14.04 you need to use:
- $ make -j CFLAGS+='-mavx' && make -j install
+ NOTE: As mentioned above, if you are building on Ubuntu 14.04 with GCC <= 4.8.X,
+ you need to use:
+ $ make -j CFLAGS+='-mssse3' && make -j install
Usage of dpdkstat:
- The same PCI device configuration should be passed to the primary process
Sebastian tokkee Harl <sh at tokkee.org>,
and many contributors (see `AUTHORS').
- Please send bug reports and patches to the mailing list, see `Contact'
- above.
-
+ Please use GitHub reporting bugs and submitting pull requests.
+ See CONTRIBUTING.md for details.