1 collectd - System information collection daemon
2 =================================================
8 collectd is a small daemon which collects statistics about a computer's
9 usage and writes then into RRD files.
15 * collectd is able to collect the following data:
17 - Apache server utilization
18 (Number of bytes transfered, number of requests handled and detailed
19 scoreboard statistics)
22 (UPS charge, load, input/output/battery voltage, etc)
25 (Temperature, fanspeed and voltage sensors of apple computers)
28 (Charge, current and charge of ACPI and PMU based batteries)
31 (Time spent in system, user, nice and idle)
34 (For laptops with speed step or a similar technology)
37 (Basically the values `df(1)' delivers)
40 (Sectors read/written, number of read/write actions, time spent doing IO)
43 (query types, response codes, opcodes and traffic)
46 (count, traffic, spam scores and checks)
49 (Amount of entropy available to the system)
52 (Values gatheres by a custom program or script)
54 - Harddisk temperatures
55 (Uhm, yeah, temperature of harddisks that is ;)
58 (Number of octets, packets and errors for each interface)
61 (Number of bytes that were matched by a certain iptables rule)
64 (Frequency in which certain interrupts occur)
67 (Load average over the last 1, 5 and 15 minutes)
69 - mbmon - motherboard monitoring
70 (temperature, fanspeed and voltage information)
73 (Memory occupied by running processes, page cache, buffer cache and free)
76 (Information provided by serial multimeters, such as the «Metex M-4650CR»)
78 - MySQL server statistics
79 (Commands issued, handlers triggered, thread usage, query cache
80 utilization and traffic sent/received)
83 (Which NFS command were called how often. Only NFSv2 and NFSv3 right now)
86 (Local clock drift, offset to peers, etc)
89 (UPS current, voltage, power, charge, utilisation, temperature, etc.)
92 (Time to reach the default gateway or another given host)
95 (Number of running, sleeping, zombie, ... processes)
98 (lm_sensors voltages, temperatures and fan rotation speeds)
101 (RX and TX of serial interfaces)
104 (Pages swapped out onto harddisk or whatever is called `swap' by the OS..)
107 (Read and write bytes and operations on tape devices)
110 (Currently logged in users)
113 (System ressources used by vservers)
116 (Link quality of wireless cards)
118 * Output to CSV- and RRD-files, send values over the network and/or provide a
119 generic interface for use by other means, e. g. a Nagios-plugin.
121 * Performance: Running as a daemon collectd doesn't spend much time in
122 startup. Since collectd links against libping, librrd and libsensors it
123 doesn't need to start any other processes.
125 * Hardly any maintenance neccessary and setup is trivial.
127 * Extremely easy and failsafe network operation possible.
133 * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
134 Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
135 for a list of options and a syntax description.
137 * When the `csv' or `rrdtool' plugins are loaded they'll write the values to
138 files. The usual place for these files is beneath `/var/lib/collectd'.
140 * When using some of the plugins, collectd needs to run as user root, since only
141 root can do certain thing, such as craft ICMP packages needed to ping other
142 hosts. collectd should NOT be installed setuid root since it can be used to
143 overwrite valuable files..
145 * Sample scripts to generate graphs reside in `contrib/' in the source
146 package or somewhere near `/usr/share/doc/collectd' in most distributions.
147 Please be aware that those script are meant as a starting point for your
148 own experiments.. Some of them require the `RRDs' Perl module.
149 (`librrds-perl' on Debian)
151 * The RRAs of the automatically created RRD files depend on the `step'
152 and `heartbeat' settings given. For a list of the default RRAs take a look
153 in the collectd(1) manpage.
159 To compile collectd from source you will need:
161 * Usual suspects: C compiler, linker, preprocessor, make, ...
163 * A POSIX-threads (pthread) implementation.
164 Since gathering some statistics is slow (network connections, slow devices,
165 etc) the collectd is parellelized. The POSIX threads interface is being
166 used and should be found in various implementations for hopefully all
170 If you want to use the `apache' plugin
173 For querying iptables counters.
175 * libmysqlclient (optional)
177 * liboping (optional, if not found a version shipped with this distribution
179 Used by the `ping' plugin to send and receive ICMP packets.
182 Used to capture packets by the `dns' plugin.
184 * librrd (optional; headers and library; rrdtool 1.0 and 1.2 both work fine)
185 If built without `librrd' the resulting binary will be `client only', i.e.
186 will send it's values via multicast and not create any RRD files itself.
187 Alternatively you can chose to write CSV-files (Comma Seperated Values)
190 * libsensors (optional)
191 To read from `lm_sensors'.
193 * libstatgrab may be used to collect statistics on systems other than Linux
194 and/or Solaris. Note that CPU- and disk-statistics, while being provided
195 by this library, are not supported in collectd right now..
196 <http://www.i-scream.org/libstatgrab/>
198 * libupsclient/nut (optional)
199 For the `nut' plugin which queries nut's `upsd'.
201 * librt, libsocket, libkstat, libdevinfo
202 Various standard Solaris libraries which provide system functions.
204 * CoreFoundation.framework and IOKit.framework
205 For compiling on darwin in general and the `apple_sensors' plugin in
211 Florian octo Forster <octo at verplant.org>