Code

Re-implemented `curtime' again. The last revision removed it accidentally..
[collectd.git] / src / collectd.pod
1 =head1 NAME
3 collectd - System statistics collection daemon
5 =head1 SYNOPSIS
7 collectd I<[options]>
9 =head1 DESCRIPTION
11 collectd is a daemon that collects various system statistics periodically and
12 stores them into RRD-files. Which data is collected depends on compile-time
13 settings. The following features may be available:
15 =over 4
17 =item
19 Battery status (I<battery>)
21 =item
23 CPU utilization (I<cpu>)
25 =item
27 Mountpoint usage (I<df>)
29 =item
31 Disk and partition usage/throughput (I<disk>)
33 =item
35 Harddisk temperatures (I<hddtemp>)
37 =item
39 System load averages (I<load>)
41 =item
43 Memory usage (I<memory>)
45 =item
47 MySQL statistics (I<mysql>)
49 =item
51 NFS utilization (I<nfs>, Linux only)
53 =item
55 Network latency (I<ping>)
57 =item
59 Number of processes (I<processes>, Linux only)
61 =item
63 lm_sensors information (I<sensors>, Linux only)
65 =item
67 Serial port traffic (I<serial>, Linux only)
69 =item
71 Swap usage (I<swap>)
73 =item
75 Tape drive usage (I<tape>, Solaris only)
77 =item
79 Network traffic (I<traffic>)
81 =item
83 Number of users logged into the system (I<users>)
85 =item
87 System ressources used by VServers (I<vserver>)
89 =back
91 =head1 OPTIONS
93 =over 4
95 =item B<-C> I<E<lt>config-fileE<gt>>
97 Specify an alternative config file. This is the place to go when you wish to
98 change B<collectd>'s behavior. The path may be relative to the current working
99 directory.
101 =item B<-f>
103 Don't fork to the background. I<collectd> will also B<not> close standard file
104 descriptors, detach from the session nor write a pid file. This is mainly
105 thought for 'supervisioning' init replacements such as I<runit>.
107 =item B<-h>
109 Output usage information and exit.
111 =back
113 =head1 MODES
115 collectd can operate in three different operating modes. The modes are
116 described below.
118 The simplest mode is the so called B<local mode>. Data is collected locally and
119 written in RRD files that reside in I<DataDir>. This is the default mode when
120 collectd is linked against C<librrd>.
122 The other two modes, B<client mode> and B<server mode>, are used to send data
123 over a network and receive it again.
125 In B<client mode> the daemon collects the data locally and sends it's results
126 to one or more network addresses. No RRD files are written in this case. This
127 is the only mode available if collectd is not linked against C<librrd>.
129 If started in B<server mode> the daemon will listen on one or more interfaces
130 and write the data it receives to RRD files. No data is collected locally.
132 Please refer to L<collectd.conf(5)> for the configuration options and default
133 values.
135 =head1 SPECIAL PLUGINS
137 =head2 cpufreq
139 This module reads F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for
140 the first CPU installed) to get the current CPU frequency. If this file does
141 not exist make sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a
142 similar tool is installed.
144 =head2 mysql
146 Requires B<mysqlclient> to be installed. It connects to the database when
147 started and keeps the connection up as long as possible. When the connection is
148 interrupted for whatever reason it will try to re-connect. The syslog will
149 contain loud complaints in case anything goes wrong.
151 This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
152 C<Com_*> and C<Handler_*> which correspond to F<traffic-mysql.rrd>,
153 F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
154 C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
155 in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
156 I<5.2.4. Server Status Variables> for an explanation of these values.
158 =head2 sensors
160 The B<sensors> module uses lm_sensors to retrieve sensor-values. This means
161 that all the needed modules have to be loaded and lm_sensors has to be
162 configured (most likely by editing F</etc/sensors.conf>. Read
163 L<sensors.conf(5)> for details.
165 The B<lm_sensors> homepage can be found at
166 L<http://secure.netroedge.com/~lm78/>.
168 =head2 hddtemp
170 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
171 port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
172 default values. See L<collectd.conf(5)> for details. C<hddtemp> has to be
173 running to work correctly. If C<hddtemp> is not running timeouts may appear
174 which may interfere with other statistics..
176 The B<hddtemp> homepage can be found at
177 L<http://www.guzu.net/linux/hddtemp.php>.
179 =head2 vserver
181 B<VServer> support is only available for Linux. It cannot yet be found in a 
182 vanilla kernel, though. To make use of this plugin you need a kernel that has 
183 B<VServer> support built in, i.e. you need to apply the patches and compile 
184 your own kernel, which will then provide the /proc/virtual filesystem that is
185 required by this plugin.
187 The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
189 =head1 RRD FILES
191 The RRD files are created automatically with the following RRAs:
193   RRA:AVERAGE:0.0:1:1500
194   RRA:AVERAGE:0.2:6:1500
195   RRA:AVERAGE:0.1:180:1680
196   RRA:AVERAGE:0.1:2160:1520
197   RRA:MIN:0.0:1:1500
198   RRA:MIN:0.2:6:1500
199   RRA:MIN:0.1:180:1680
200   RRA:MIN:0.1:2160:1520
201   RRA:MAX:0.0:1:1500
202   RRA:MAX:0.2:6:1500
203   RRA:MAX:0.1:180:1680
204   RRA:MAX:0.1:2160:1520
206 By default collectd uses a 10 second I<step>. Thus the RRAs contain the
207 following timespans. If you've changed the I<step> at compile time you will
208 have calculate resolution and timespan yourself.
210   PDP per CDP | Resolution | Data points |  Timespan
211   ------------+------------+-------------+----------
212             1 | 10 seconds !        1500 !   4 hours
213             6 |  1 minute  |        1500 |  25 hours
214           180 | 30 minutes |        1680 |  35 days
215          2160 |  6 hours   |        1520 | 380 days
217 The DS'es depend on the module creating the RRD files:
219 =over 4
221 =item Battery charge (F<battery-I<E<lt>nameE<gt>>/charge.rrd>)
223   DS:charge:GAUGE:25:0:U
225 =item Battery current (F<battery-I<E<lt>nameE<gt>>/current.rrd>)
227   DS:current:GAUGE:25:U:U
229 =item Battery voltage (F<battery-I<E<lt>nameE<gt>>/voltage.rrd>)
231   DS:voltage:GAUGE:25:U:U
233 =item CPU (F<cpu-I<E<lt>numE<gt>>.rrd>)
235   DS:user:COUNTER:25:0:100
236   DS:nice:COUNTER:25:0:100
237   DS:syst:COUNTER:25:0:100
238   DS:idle:COUNTER:25:0:100
239   DS:wait:COUNTER:25:0:100
241 =item Mountpoints (F<df-I<E<lt>pathE<gt>>.rrd>)
243   DS:used:GAUGE:25:0:U
244   DS:free:GAUGE:25:0:U
246 =item Diskstats (F<disk-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
248   DS:rcount:COUNTER:25:0:U
249   DS:rmerged:COUNTER:25:0:U
250   DS:rbytes:COUNTER:25:0:U
251   DS:rtime:COUNTER:25:0:U
252   DS:wcount:COUNTER:25:0:U
253   DS:wmerged:COUNTER:25:0:U
254   DS:wbytes:COUNTER:25:0:U
255   DS:wtime:COUNTER:25:0:U
257 =item Diskstats (F<partition-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
259   DS:rcount:COUNTER:25:0:U
260   DS:rbytes:COUNTER:25:0:U
261   DS:wcount:COUNTER:25:0:U
262   DS:wbytes:COUNTER:25:0:U
264 =item HDD Temperature (F<hddtemp-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
266   DS:value:GAUGE:25:U:U
268 =item System load (F<load.rrd>)
270   DS:shortterm:GAUGE:25:0:100
271   DS:midterm:GAUGE:25:0:100
272   DS:longterm:GAUGE:25:0:100
274 =item Memory usage (F<memory.rrd>)
276   DS:used:GAUGE:25:0:9223372036854775807
277   DS:free:GAUGE:25:0:9223372036854775807
278   DS:buffers:GAUGE:25:0:9223372036854775807
279   DS:cached:GAUGE:25:0:9223372036854775807
281 =item MySQL commands and handlers (F<mysql_commands-I<E<lt>commandE<gt>>.rrd> and F<mysql_handler-I<E<lt>handlerE<gt>>.rrd>)
283   DS:value:COUNTER:25:0:U
285 =item MySQL query cache (F<mysql_qcache.rrd>)
287   DS:hits:COUNTER:25:0:U
288   DS:inserts:COUNTER:25:0:U
289   DS:not_cached:COUNTER:25:0:U
290   DS:lowmem_prunes:COUNTER:25:0:U
291   DS:queries_in_cache:GAUGE:25:0:U
293 =item MySQL threads (F<mysql_threads.rrd>)
295   DS:running:GAUGE:25:0:U
296   DS:connected:GAUGE:25:0:U
297   DS:cached:GAUGE:25:0:U
298   DS:created:COUNTER:25:0:U
300 =item NFSv2 Procedures (F<nfs2_procedures-I<(client|server)>.rrd>)
302   DS:null:COUNTER:25:0:U
303   DS:getattr:COUNTER:25:0:U
304   DS:setattr:COUNTER:25:0:U
305   DS:root:COUNTER:25:0:U
306   DS:lookup:COUNTER:25:0:U
307   DS:readlink:COUNTER:25:0:U
308   DS:read:COUNTER:25:0:U
309   DS:wrcache:COUNTER:25:0:U
310   DS:write:COUNTER:25:0:U
311   DS:create:COUNTER:25:0:U
312   DS:remove:COUNTER:25:0:U
313   DS:rename:COUNTER:25:0:U
314   DS:link:COUNTER:25:0:U
315   DS:symlink:COUNTER:25:0:U
316   DS:mkdir:COUNTER:25:0:U
317   DS:rmdir:COUNTER:25:0:U
318   DS:readdir:COUNTER:25:0:U
319   DS:fsstat:COUNTER:25:0:U
321 =item NFSv3 Procedures (F<nfs3_procedures-I<(client|server)>.rrd>)
323   DS:null:COUNTER:25:0:U
324   DS:getattr:COUNTER:25:0:U
325   DS:setattr:COUNTER:25:0:U
326   DS:lookup:COUNTER:25:0:U
327   DS:access:COUNTER:25:0:U
328   DS:readlink:COUNTER:25:0:U
329   DS:read:COUNTER:25:0:U
330   DS:write:COUNTER:25:0:U
331   DS:create:COUNTER:25:0:U
332   DS:mkdir:COUNTER:25:0:U
333   DS:symlink:COUNTER:25:0:U
334   DS:mknod:COUNTER:25:0:U
335   DS:remove:COUNTER:25:0:U
336   DS:rmdir:COUNTER:25:0:U
337   DS:rename:COUNTER:25:0:U
338   DS:link:COUNTER:25:0:U
339   DS:readdir:COUNTER:25:0:U
340   DS:readdirplus:COUNTER:25:0:U
341   DS:fsstat:COUNTER:25:0:U
342   DS:fsinfo:COUNTER:25:0:U
343   DS:pathconf:COUNTER:25:0:U
344   DS:commit:COUNTER:25:0:U
346 =item Network latency / Ping (F<ping-I<E<lt>hostnameE<gt>>.rrd>)
348   DS:ping:GAUGE:25:0:65535
350 =item Processes (F<processes.rrd>)
352   DS:running:GAUGE:25:0:65535
353   DS:sleeping:GAUGE:25:0:65535
354   DS:zombies:GAUGE:25:0:65535
355   DS:stopped:GAUGE:25:0:65535
356   DS:paging:GAUGE:25:0:65535
357   DS:blocked:GAUGE:25:0:65535
359 =item lm_sensors (F<sensors-I<E<lt>chipE<gt>>-I<E<lt>featureE<gt>>.rrd>)
361   DS:value:GAUGE:25:U:U
363 =item Serial port traffic (F<serial-I<E<lt>numE<gt>>.rrd>)
365   DS:incoming:COUNTER:25:0:U
366   DS:outgoing:COUNTER:25:0:U
368 =item Swap usage (F<swap.rrd>)
370   DS:used:GAUGE:25:0:1099511627776
371   DS:free:GAUGE:25:0:1099511627776
372   DS:cached:GAUGE:25:0:1099511627776
373   DS:resv:GAUGE:25:0:1099511627776
375 =item Tape drive usage (F<tape-I<E<lt>nameE<gt>>.rrd>)
377   DS:rcount:COUNTER:25:0:
378   DS:rmerged:COUNTER:25:0:U
379   DS:rbytes:COUNTER:25:0:U
380   DS:rtime:COUNTER:25:0:U
381   DS:wcount:COUNTER:25:0:U
382   DS:wmerged:COUNTER:25:0:U
383   DS:wbytes:COUNTER:25:0:U
384   DS:wtime:COUNTER:25:0:U
386 =item Network traffic (F<traffic-I<E<lt>nameE<gt>>.rrd>)
388   DS:incoming:COUNTER:25:0:U
389   DS:outgoing:COUNTER:25:0:U
391 =item Users (F<users.rrd>)
393   DS:users:GAUGE:25:0:65535
395 =item VServer load (F<vserver-I<E<lt>xidE<gt>>/load.rrd>)
397   DS:shortterm:GAUGE:25:0:100
398   DS:midterm:GAUGE:25:0:100
399   DS:longterm:GAUGE:25:0:100
401 =item VServer threads (F<vserver-I<E<lt>xidE<gt>>/threads.rrd>)
403   DS:total:GAUGE:25:0:65535
404   DS:running:GAUGE:25:0:65535
405   DS:uninterruptible:GAUGE:25:0:65535
406   DS:onhold:GAUGE:25:0:65535
408 =item VServer network traffic (F<vserver-I<E<lt>xidE<gt>>/traffic-I<E<lt>nameE<gt>>.rrd>)
410   DS:incoming:COUNTER:25:0:9223372036854775807
411   DS:outgoing:COUNTER:25:0:9223372036854775807
412   DS:failed:COUNTER:25:0:9223372036854775807
414 =item VServer processes (F<vserver-I<E<lt>xidE<gt>>/vs_processes.rrd>)
416   DS:total:GAUGE:25:0:65535
418 =item VServer memory usage (F<vserver-I<E<lt>xidE<gt>>/vs_memory.rrd>)
420   DS:vm:GAUGE:25:0:9223372036854775807
421   DS:vml:GAUGE:25:0:9223372036854775807
422   DS:rss:GAUGE:25:0:9223372036854775807
423   DS:anon:GAUGE:25:0:9223372036854775807
425 =back
427 =head1 SEE ALSO
429 L<collectd.conf(5)>, L<rrdtool(1)>, L<sensors(1)>, L<hddtemp(8)>,
430 L<kstat(3KSTAT)>
432 =head1 AUTHOR
434 Florian Forster E<lt>octo@verplant.orgE<gt>
436 =cut