HOME

TheInfoList



OR:

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 A system administrator, or sysadmin, or admin is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems, especially multi-user computers, such as servers. The system administrator seeks to ens ...
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 In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
are licensed under the terms of the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
, version 2 (GPLv2), the remaining files are licensed under other
open source license An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compa ...
s.


Operation

''collectd'' uses a
modular design Modular design, or modularity in design, is a design principle that subdivides a system into smaller parts called ''modules'' (such as modular process skids), which can be independently created, modified, replaced, or exchanged with other modules ...
: 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 OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. A ...
-powered embedded devices. Data acquisition and storage is handled by
plug-in Plug-in, plug in or plugin may refer to: * Plug-in (computing) is a software component that adds a specific feature to an existing computer program. ** Audio plug-in, adds audio signal processing features ** Photoshop plugin, a piece of softwar ...
s in the form of
shared object In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subro ...
s. This way code specific to one
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
is mostly kept out of the actual daemon. Plug-ins may have their own dependencies, for example a specific operating system or
software libraries In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subro ...
. 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: * 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 In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a Computing platform, computing environment that is different from the one that a given program (meant for such execution) ...
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 that the user can employ to perform specific tasks. Examples are querying of network equipment using
SNMP Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically ...
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 RRDtool (''round-robin database tool'') aims to handle time series data such as network bandwidth, temperatures or CPU load. The data is stored in a circular buffer based database, thus the system storage footprint remains constant over time. ...
''-plug-in is used on servers to store the performance data. The plug-in uses a binary network protocol over UDP. Both,
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version d ...
and
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. I ...
are supported as
network layer In the seven-layer OSI model of computer networking, the network layer is layer 3. The network layer is responsible for packet forwarding including routing through intermediate routers. Functions The network layer provides the means of trans ...
. It is possible to use
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
(point-to-point) and
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused wit ...
(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 A cactus (, or less commonly, cactus) is a member of the plant family Cactaceae, a family comprising about 127 genera with some 1750 known species of the order Caryophyllales. The word ''cactus'' derives, through Latin, from the Ancient Gree ...
* Munin *
Multi Router Traffic Grapher The Multi Router Traffic Grapher (MRTG) is free software for monitoring and measuring the traffic load on network links. It allows the user to see traffic load on a network over time in graphical form. It was originally developed by Tobias Oetik ...
(MRTG) *
Shinken (software) Shinken is an open source computer system and network monitoring software application compatible with Nagios. It watches hosts and services, gathers performance data and alerts users when error conditions occur and again when the conditions clear. ...
* Zabbix *
Comparison of network monitoring systems The following tables compare general and technical information for a number of notable network monitoring systems. Please see the individual products' articles for further information. Features Legend ; Product Name : The name ...
*
System monitor A system monitor is a hardware or software component used to monitor system resources and performance in a computer system. Among the management issues regarding use of system monitoring tools are resource usage and privacy. Overview Software ...


References


External links

* {{Official website
List of available plug-ins
Free software programmed in C Free network management software