- Collectd
-
collectd Original author(s) Florian Forster Initial release July 8, 2005 Stable release 5.0.0 / March 28, 2011 Development status Active Written in C Operating system Any Unix-like Available in English Type Capacity planning License GNU General Public License, version 2 Website http://collectd.org/ collectd is a UNIX-daemon which 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 in order 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.[1] 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.[2]
Contents
Operation
collectd uses a modular design: The daemon itself only implements infrastructure for filtering and relaying data as well as auxiliary functions. Data acquisition and storage is handled by plug-ins in the form of shared objects.[3] This way code specific to one operating system is mostly kept out of the actual daemon. Plug-ins may have own dependencies, for example a specific operating system or software libraries. Other tasks performed by the plug-ins includes 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:
- Operating system plug-ins collect information such as CPU-utilization, memory usage, or number of users logged into a system. These plug-ins usually need to be ported to each operating system. Not all such plug-ins are available for all operating systems.
- Application plug-ins collect performance data from or about an application running on the same or a remote computer, for example the Apache HTTP Server. These plug-ins often use software libraries but are usually otherwise operating system independent.
- Generic plug-ins offer basic functions which the user can use to perform specific tasks. Examples are querying of network equipment using SNMP or execution of custom programs or scripts.
So called “write plug-ins” offer the possibility to store the collected data on disk using RRD- or CSV-files, or to send data over the network to a remote instance of the daemon.
Networking
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.[4]
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.
See also
- Cacti
- Munin
- Multi Router Traffic Grapher (MRTG)
- N2rrd
- Observium - Provides navigation frontend integration
- Pandora FMS
- Zabbix
- Comparison of network monitoring systems
References
- ^ http://git.verplant.org/?p=collectd.git;a=blob;hb=master;f=AUTHORS
- ^ http://packages.debian.org/changelogs/pool/main/c/collectd/current/copyright
- ^ http://collectd.org/features.shtml
- ^ http://collectd.org/wiki/index.php/Networking_introduction
External links
Categories:- Free software programmed in C
- Open source network management software
Wikimedia Foundation. 2010.