Merge branch 'master' of octo@verplant.org:/var/lib/git/collectd
[collectd.git] / README
1  collectd - System information collection daemon
2 =================================================
3 http://collectd.org/
4
5 About
6 -----
7
8   collectd is a small daemon which collects statistics about a computer's
9   usage and writes then into RRD files.
10
11
12 Features
13 --------
14
15   * collectd is able to collect the following data:
16
17     - Apache server utilization
18       (Number of bytes transfered, number of requests handled and detailed
19       scoreboard statistics)
20
21     - APC UPS Daemon
22       (UPS charge, load, input/output/battery voltage, etc)
23
24     - Apple Sensors
25       (Temperature, fanspeed and voltage sensors of apple computers)
26
27     - Battery
28       (Charge, current and charge of ACPI and PMU based batteries)
29
30     - CPU utilization
31       (Time spent in system, user, nice and idle)
32
33     - CPU frequency
34       (For laptops with speed step or a similar technology)
35
36     - Mountpoint usage
37       (Basically the values `df(1)' delivers)
38
39     - Disk utilization
40       (Sectors read/written, number of read/write actions, time spent doing IO)
41
42     - DNS traffic
43       (query types, response codes, opcodes and traffic)
44
45     - Harddisk temperatures
46       (Uhm, yeah, temperature of harddisks that is ;)
47
48     - System load
49       (Load average over the last 1, 5 and 15 minutes)
50
51     - Memory utilization
52       (Memory occupied by running processes, page cache, buffer cache and free)
53
54     - MySQL server statistics
55       (Commands issued, handlers triggered, thread usage, query cache
56       utilization and traffic sent/received)
57
58     - NFS Procedures
59       (Which NFS command were called how often. Only NFSv2 and NFSv3 right now)
60
61     - NTP Daemon
62       (Local clock drift, offset to peers, etc)
63
64     - Ping latency
65       (Time to reach the default gateway or another given host)
66
67     - Process counts
68       (Number of running, sleeping, zombie, ... processes)
69
70     - Sensors
71       (lm_sensors voltages, temperatures and fan rotation speeds)
72
73     - Serial
74       (RX and TX of serial interfaces)
75
76     - Swap
77       (Pages swapped out onto harddisk or whatever is called `swap' by the OS..)
78
79     - Tape
80       (Read and write bytes and operations on tape devices)
81
82     - Traffic
83       (In/Outbound traffic on the interfaces)
84
85     - Users
86       (Currently logged in users)
87
88     - VServer
89       (System ressources used by vservers)
90
91     - Wireless
92       (Link quality of wireless cards)
93
94   * Performance: Running as a daemon collectd doesn't spend much time in
95     startup. Since collectd links against libping, librrd and libsensors it
96     doesn't need to start any other processes.
97
98   * Hardly any maintenance neccessary and setup is trivial.
99
100   * Extremely easy and failsafe network operation possible.
101
102
103 Operation
104 ---------
105
106   * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
107     Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
108     for a list of options and a syntax description.
109
110   * When running collectd writes system statistics in RRD-files. Per default
111     they reside in `/var/lib/collectd'.
112
113   * When using the `ping' plugin collectd needs to run as user root, since only
114     root can craft ICMP packages needed to ping other hosts. collectd should
115     NOT be installed setuid root since it can be used to overwrite valuable
116     files..
117
118   * Sample scripts to generate graphs reside in `contrib/' in the source
119     package or somewhere near `/usr/share/doc/collectd' in most distributions.
120     Please be aware that those script are meant as a starting point for your
121     own experiments.. Some of them require the `RRDs' Perl module.
122     (`librrds-perl' on Debian)
123
124   * The RRAs of the automatically created RRD files depend on the `step'
125     and `heartbeat' settings given on compile time. For a list of the
126     default RRAs take a look in the collectd(1) manpage.
127
128
129 Prerequisites
130 -------------
131
132   To compile collectd from source you will need:
133
134   * Usual suspects: C compiler, linker, preprocessor, make, ...
135
136   * rrdtool (headers and library; rrdtool 1.0 and 1.2 both work fine)
137     If built without `librrd' the resulting binary will be `client only', i.e.
138     will send it's values via multicast and not create any RRD files itself.
139
140   * libmysqlclient (optional)
141
142   * lm-sensors (optional)
143
144   * libstatgrab may be used to collect statistics on systems other than Linux
145     and/or Solaris. Note that CPU- and disk-statistics, while being provided by
146     this library, are not supported in collectd right now..
147     <http://www.i-scream.org/libstatgrab/> 
148
149   * libcurl (optional)
150     If you want to use the `apache' plugin
151
152   * CoreFoundation.framework and IOKit.framework
153     For copiling on darwin in general and the `apple_sensors' plugin in
154     particular.
155
156 Author
157 ------
158
159   Florian octo Forster <octo at verplant.org>
160