src/{dns,ntpd}.c: Use <poll.h> rather than <sys/poll.h>.
[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     - Harddisk temperatures
43       (Uhm, yeah, temperature of harddisks that is ;)
44
45     - System load
46       (Load average over the last 1, 5 and 15 minutes)
47
48     - Memory utilization
49       (Memory occupied by running processes, page cache, buffer cache and free)
50
51     - MySQL server statistics
52       (Commands issued, handlers triggered, thread usage, query cache
53       utilization and traffic sent/received)
54
55     - NFS Procedures
56       (Which NFS command were called how often. Only NFSv2 and NFSv3 right now)
57
58     - NTP Daemon
59       (Local clock drift, offset to peers, etc)
60
61     - Ping latency
62       (Time to reach the default gateway or another given host)
63
64     - Process counts
65       (Number of running, sleeping, zombie, ... processes)
66
67     - Sensors
68       (lm_sensors voltages, temperatures and fan rotation speeds)
69
70     - Serial
71       (RX and TX of serial interfaces)
72
73     - Swap
74       (Pages swapped out onto harddisk or whatever is called `swap' by the OS..)
75
76     - Tape
77       (Read and write bytes and operations on tape devices)
78
79     - Traffic
80       (In/Outbound traffic on the interfaces)
81
82     - Users
83       (Currently logged in users)
84
85     - VServer
86       (System ressources used by vservers)
87
88     - Wireless
89       (Link quality of wireless cards)
90
91   * Performance: Running as a daemon collectd doesn't spend much time in
92     startup. Since collectd links against libping, librrd and libsensors it
93     doesn't need to start any other processes.
94
95   * Hardly any maintenance neccessary and setup is trivial.
96
97   * Extremely easy and failsafe network operation possible.
98
99
100 Operation
101 ---------
102
103   * collectd's configuration file can be found at `sysconfdir'/collectd.conf.
104     Run `collectd -h' for a list of builtin defaults. See `collectd.conf(5)'
105     for a list of options and a syntax description.
106
107   * When running collectd writes system statistics in RRD-files. Per default
108     they reside in `/var/lib/collectd'.
109
110   * When using the `ping' plugin collectd needs to run as user root, since only
111     root can craft ICMP packages needed to ping other hosts. collectd should
112     NOT be installed setuid root since it can be used to overwrite valuable
113     files..
114
115   * Sample scripts to generate graphs reside in `contrib/' in the source
116     package or somewhere near `/usr/share/doc/collectd' in most distributions.
117     Please be aware that those script are meant as a starting point for your
118     own experiments.. Some of them require the `RRDs' Perl module.
119     (`librrds-perl' on Debian)
120
121   * The RRAs of the automatically created RRD files depend on the `step'
122     and `heartbeat' settings given on compile time. For a list of the
123     default RRAs take a look in the collectd(1) manpage.
124
125
126 Prerequisites
127 -------------
128
129   To compile collectd from source you will need:
130
131   * Usual suspects: C compiler, linker, preprocessor, make, ...
132
133   * rrdtool (headers and library; rrdtool 1.0 and 1.2 both work fine)
134     If built without `librrd' the resulting binary will be `client only', i.e.
135     will send it's values via multicast and not create any RRD files itself.
136
137   * libmysqlclient (optional)
138
139   * lm-sensors (optional)
140
141   * libstatgrab may be used to collect statistics on systems other than Linux
142     and/or Solaris. Note that CPU- and disk-statistics, while being provided by
143     this library, are not supported in collectd right now..
144     <http://www.i-scream.org/libstatgrab/> 
145
146   * libcurl (optional)
147     If you want to use the `apache' plugin
148
149   * CoreFoundation.framework and IOKit.framework
150     For copiling on darwin in general and the `apple_sensors' plugin in
151     particular.
152
153 Author
154 ------
155
156   Florian octo Forster <octo at verplant.org>
157