Merged revisions 581 and 583 from trunk to tags/collectd-3.8.4
[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   * Performance: Running as a daemon collectd doesn't spend much time in
70     startup. Since collectd links against libping, librrd and libsensors it
71     doesn't need to start any other processes.
72
73   * Hardly any maintenance neccessary and setup is trivial.
74
75   * Extremely easy and failsafe network operation possible.
76
77
78 Operation
79 ---------
80
81   * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
82     Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
83     for a list of options and a syntax description.
84
85   * When running collectd writes system statistics in RRD-files. Per default
86     they reside in `/var/lib/collectd'.
87
88   * When using the `ping' plugin collectd needs to run as user root, since only
89     root can craft ICMP packages needed to ping other hosts. collectd should
90     NOT be installed setuid root since it can be used to overwrite valuable
91     files..
92
93   * Sample scripts to generate graphs reside in `contrib/' in the source
94     package or somewhere near `/usr/share/doc/collectd' in most distributions.
95     Please be aware that those script are meant as a starting point for your
96     own experiments.. Some of them require the `RRDs' Perl module.
97     (`librrds-perl' on Debian)
98
99   * The RRD-files that collectd creates hold the following data. Use ``rrdtool
100     resize'' if you want to cover longer/shorter periods of time.
101
102     Resolution | Data points |  Timespan
103     -----------+-------------+----------
104     60 seconds |        1500 |  25 hours
105     30 minutes |        1680 |  35 days
106      6 hours   |        1520 | 380 days
107
108
109 Prerequisites
110 -------------
111
112   To compile collectd from source you will need:
113
114   * Usual suspects: C compiler, linker, preprocessor, make, ...
115
116   * rrdtool (headers and library; rrdtool 1.0 and 1.2 both work fine)
117     If built without `librrd' the resulting binary will be `client only', i.e.
118     will send it's values via multicast and not create any RRD files itself.
119
120   * libmysqlclient (optional)
121
122   * lm-sensors (optional)
123
124   * libstatgrab may be used to collect statistics on systems other than Linux
125     and/or Solaris. Note that CPU- and disk-statistics, while being provided by
126     this library, are not supported in collectd right now..
127     <http://www.i-scream.org/libstatgrab/> 
128
129 Author
130 ------
131
132   Florian octo Forster <octo at verplant.org>
133