Merged `branches/log-mode' to `trunk'
[collectd.git] / README
1  collectd - System information collection daemon
2 =================================================
3 http://verplant.org/collectd/
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     - CPU utilization
18       (Time spent in system, user, nice and idle)
19
20     - CPU frequency
21       (For laptops with speed step or a similar technology)
22
23     - Mountpoint usage
24       (Basically the values `df(1)' delivers)
25
26     - Disk utilization
27       (Sectors read/written, number of read/write actions, time spent doing IO)
28
29     - Harddisk temperatures
30       (Uhm, yeah, temperature of harddisks that is ;)
31
32     - System load
33       (Load average over the last 1, 5 and 15 minutes)
34
35     - Memory utilization
36       (Memory occupied by running processes, page cache, buffer cache and free)
37
38     - MySQL server statistics
39       (Commands issued, handlers triggered, thread usage, query cache
40       utilization and traffic sent/received)
41
42     - NFS Procedures
43       (Which NFS command were called how often. Only NFSv2 and NFSv3 right now)
44
45     - Ping latency
46       (Time to reach the default gateway or another given host)
47
48     - Process counts
49       (Number of running, sleeping, zombie, ... processes)
50
51     - Serial
52       (RX and TX of serial interfaces)
53
54     - Sensors
55       (System temperatured and fan rotation speeds)
56
57     - Swap
58       (Pages swapped out onto harddisk or whatever is called `swap' by the OS..)
59
60     - Tape
61       (Read and write bytes and operations on tape devices)
62
63     - Traffic
64       (In/Outbound traffic on the interfaces)
65
66     - Users
67       (Currently logged in users)
68
69     - VServer
70       (System ressources used by vservers)
71
72   * Performance: Running as a daemon collectd doesn't spend much time in
73     startup. Since collectd links against libping, librrd and libsensors it
74     doesn't need to start any other processes.
75
76   * Hardly any maintenance neccessary and setup is trivial.
77
78   * Extremely easy and failsafe network operation possible.
79
80
81 Operation
82 ---------
83
84   * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
85     Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
86     for a list of options and a syntax description.
87
88   * When running collectd writes system statistics in RRD-files. Per default
89     they reside in `/var/lib/collectd'.
90
91   * When using the `ping' plugin collectd needs to run as user root, since only
92     root can craft ICMP packages needed to ping other hosts. collectd should
93     NOT be installed setuid root since it can be used to overwrite valuable
94     files..
95
96   * Sample scripts to generate graphs reside in `contrib/' in the source
97     package or somewhere near `/usr/share/doc/collectd' in most distributions.
98     Please be aware that those script are meant as a starting point for your
99     own experiments.. Some of them require the `RRDs' Perl module.
100     (`librrds-perl' on Debian)
101
102   * The RRD-files that collectd creates hold the following data. Use ``rrdtool
103     resize'' if you want to cover longer/shorter periods of time.
104
105     Resolution | Data points |  Timespan
106     -----------+-------------+----------
107     60 seconds |        1500 |  25 hours
108     30 minutes |        1680 |  35 days
109      6 hours   |        1520 | 380 days
110
111
112 Prerequisites
113 -------------
114
115   To compile collectd from source you will need:
116
117   * Usual suspects: C compiler, linker, preprocessor, make, ...
118
119   * rrdtool (headers and library; rrdtool 1.0 and 1.2 both work fine)
120     If built without `librrd' the resulting binary will be `client only', i.e.
121     will send it's values via multicast and not create any RRD files itself.
122
123   * libmysqlclient (optional)
124
125   * lm-sensors (optional)
126
127   * libstatgrab may be used to collect statistics on systems other than Linux
128     and/or Solaris. Note that CPU- and disk-statistics, while being provided by
129     this library, are not supported in collectd right now..
130     <http://www.i-scream.org/libstatgrab/> 
131
132 Author
133 ------
134
135   Florian octo Forster <octo at verplant.org>
136