|Original author(s)||Florian Forster|
|Initial release||July 8, 2005|
5.7.1 / January 23, 2017
|Operating system||Any Unix-like|
|License||GNU General Public License, version 2|
collectd is a Unix daemon that collects, transfers and stores performance data of computers and network equipment. The acquired data is meant to help system administrators maintain an overview over available resources to detect existing or looming bottlenecks.
The first version of the daemon was written in 2005 by Florian Forster and has been further developed as free open-source project. Other developers have written improvements and extensions to the software that have been incorporated into the project. Most files of the source code are licensed under the terms of the GNU General Public License, version 2 (GPLv2), the remaining files are licensed under other open source licenses.
collectd uses a modular design: The daemon itself only implements infrastructure for filtering and relaying data as well as auxiliary functions and requires very few resources, it even runs on OpenWrt-powered embedded devices. Data acquisition and storage is handled by plug-ins in the form of shared objects. This way code specific to one operating system is mostly kept out of the actual daemon. Plug-ins may have their own dependencies, for example a specific operating system or software libraries. Other tasks performed by the plug-ins include processing of "notifications" and log messages.
Data acquisition plug-ins, called "read plug-ins" in collectd's documentation, can be roughly put into three categories:
Included in the source code distribution of collectd is the so-called "network" plug-in, which can be used to send and receive data to/from other instances of the daemon. In a typical networked setup the daemon would run on each monitored host (called "clients") with the network plug-in configured to send collected data to one or more network addresses. On one or more so called "servers" the same daemon would run but with a different configuration, so that the network plug-in receives data instead of sending it. Often the RRDtool-plug-in is used on servers to store the performance data.
The plug-in uses a binary network protocol over UDP. Both, IPv4 and IPv6 are supported as network layer. It is possible to use unicast (point-to-point) and multicast (point-to-group) addressing. Authentication and encryption has been added to the protocol with version 4.7.0, released in May 2009.
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.