1 collectd - System information collection daemon
2 =================================================
3 http://collectd.org/
5 About
6 -----
8 collectd is a small daemon which collects statistics about a computer's
9 usage and writes then into RRD files.
12 Features
13 --------
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)
21 - APC UPS Daemon
22 (UPS charge, load, input/output/battery voltage, etc)
24 - Apple Sensors
25 (Temperature, fanspeed and voltage sensors of apple computers)
27 - Battery
28 (Charge, current and charge of ACPI and PMU based batteries)
30 - CPU utilization
31 (Time spent in system, user, nice and idle)
33 - CPU frequency
34 (For laptops with speed step or a similar technology)
36 - Mountpoint usage
37 (Basically the values `df(1)' delivers)
39 - Disk utilization
40 (Sectors read/written, number of read/write actions, time spent doing IO)
42 - DNS traffic
43 (query types, response codes, opcodes and traffic)
45 - Email statistics
46 (count, traffic, spam scores and checks)
48 - Harddisk temperatures
49 (Uhm, yeah, temperature of harddisks that is ;)
51 - System load
52 (Load average over the last 1, 5 and 15 minutes)
54 - mbmon - motherboard monitoring
55 (temperature, fanspeed and voltage information)
57 - Memory utilization
58 (Memory occupied by running processes, page cache, buffer cache and free)
60 - Multimeter
61 (Information provided by serial multimeters, such as the «Metex M-4650CR»)
63 - MySQL server statistics
64 (Commands issued, handlers triggered, thread usage, query cache
65 utilization and traffic sent/received)
67 - NFS Procedures
68 (Which NFS command were called how often. Only NFSv2 and NFSv3 right now)
70 - NTP Daemon
71 (Local clock drift, offset to peers, etc)
73 - Ping latency
74 (Time to reach the default gateway or another given host)
76 - Process counts
77 (Number of running, sleeping, zombie, ... processes)
79 - Sensors
80 (lm_sensors voltages, temperatures and fan rotation speeds)
82 - Serial
83 (RX and TX of serial interfaces)
85 - Swap
86 (Pages swapped out onto harddisk or whatever is called `swap' by the OS..)
88 - Tape
89 (Read and write bytes and operations on tape devices)
91 - Traffic
92 (In/Outbound traffic on the interfaces)
94 - Users
95 (Currently logged in users)
97 - VServer
98 (System ressources used by vservers)
100 - Wireless
101 (Link quality of wireless cards)
103 * Performance: Running as a daemon collectd doesn't spend much time in
104 startup. Since collectd links against libping, librrd and libsensors it
105 doesn't need to start any other processes.
107 * Hardly any maintenance neccessary and setup is trivial.
109 * Extremely easy and failsafe network operation possible.
112 Operation
113 ---------
115 * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
116 Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
117 for a list of options and a syntax description.
119 * When running collectd writes system statistics in RRD-files. Per default
120 they reside in `/var/lib/collectd'.
122 * When using the `ping' plugin collectd needs to run as user root, since only
123 root can craft ICMP packages needed to ping other hosts. collectd should
124 NOT be installed setuid root since it can be used to overwrite valuable
125 files..
127 * Sample scripts to generate graphs reside in `contrib/' in the source
128 package or somewhere near `/usr/share/doc/collectd' in most distributions.
129 Please be aware that those script are meant as a starting point for your
130 own experiments.. Some of them require the `RRDs' Perl module.
131 (`librrds-perl' on Debian)
133 * The RRAs of the automatically created RRD files depend on the `step'
134 and `heartbeat' settings given on compile time. For a list of the
135 default RRAs take a look in the collectd(1) manpage.
138 Prerequisites
139 -------------
141 To compile collectd from source you will need:
143 * Usual suspects: C compiler, linker, preprocessor, make, ...
145 * rrdtool (optional; headers and library; rrdtool 1.0 and 1.2 both work fine)
146 If built without `librrd' the resulting binary will be `client only', i.e.
147 will send it's values via multicast and not create any RRD files itself.
148 Alternatively you can chose to write CSV-files (Comma Seperated Values)
149 instead.
151 * libmysqlclient (optional)
153 * lm-sensors (optional)
155 * libstatgrab may be used to collect statistics on systems other than Linux
156 and/or Solaris. Note that CPU- and disk-statistics, while being provided
157 by this library, are not supported in collectd right now..
158 <http://www.i-scream.org/libstatgrab/>
160 * libcurl (optional)
161 If you want to use the `apache' plugin
163 * librt, libsocket, libkstat, libdevinfo
164 Various standard Solaris libraries which provide system functions.
166 * libpthread (optional)
167 For parallelization, especially for plugins that communicate with the
168 outside, e. g. with a socket.
170 * CoreFoundation.framework and IOKit.framework
171 For copiling on darwin in general and the `apple_sensors' plugin in
172 particular.
174 Author
175 ------
177 Florian octo Forster <octo at verplant.org>