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