Code

Added the RRD files of the `wireless' plugin to `collectd(1)'
[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 Apache server stats (I<apache>)
21 =item
23 Apple hardware sensors (I<apple_sensors>, Darwin only)
25 =item
27 Battery status (I<battery>)
29 =item
31 CPU utilization (I<cpu>)
33 =item
35 Mountpoint usage (I<df>)
37 =item
39 Disk and partition usage/throughput (I<disk>)
41 =item
43 Harddisk temperatures (I<hddtemp>)
45 =item
47 System load averages (I<load>)
49 =item
51 Memory usage (I<memory>)
53 =item
55 MySQL statistics (I<mysql>)
57 =item
59 NFS utilization (I<nfs>, Linux only)
61 =item
63 Network latency (I<ping>)
65 =item
67 Number of processes (I<processes>, Linux only)
69 =item
71 lm_sensors information (I<sensors>, Linux only)
73 =item
75 Serial port traffic (I<serial>, Linux only)
77 =item
79 Swap usage (I<swap>)
81 =item
83 Tape drive usage (I<tape>, Solaris only)
85 =item
87 Network traffic (I<traffic>)
89 =item
91 Number of users logged into the system (I<users>)
93 =item
95 System ressources used by VServers (I<vserver>)
97 =item
99 Wireless network stats (I<wireless>)
101 =back
103 =head1 OPTIONS
105 =over 4
107 =item B<-C> I<E<lt>config-fileE<gt>>
109 Specify an alternative config file. This is the place to go when you wish to
110 change B<collectd>'s behavior. The path may be relative to the current working
111 directory.
113 =item B<-f>
115 Don't fork to the background. I<collectd> will also B<not> close standard file
116 descriptors, detach from the session nor write a pid file. This is mainly
117 thought for 'supervisioning' init replacements such as I<runit>.
119 =item B<-h>
121 Output usage information and exit.
123 =back
125 =head1 MODES
127 collectd can operate in three different operating modes. The modes are
128 described below.
130 The simplest mode is the so called B<local mode>. Data is collected locally and
131 written in RRD files that reside in I<DataDir>. This is the default mode when
132 collectd is linked against C<librrd>.
134 The other modes, B<client mode> and B<server mode>, are used to send data over
135 a network and receive it again.
137 In B<client mode> the daemon collects the data locally and sends its results
138 to one or more network addresses. No RRD files are written in this case. This
139 is the only mode available if collectd is not linked against C<librrd>.
141 If started in B<server mode> the daemon will listen on one or more interfaces
142 and write the data it receives to RRD files. No data is collected locally.
144 In the last mode, B<log mode>, data is collected locally and written in
145 text files that reside in I<DataDir>.
147 Please refer to L<collectd.conf(5)> for the configuration options and default
148 values.
150 =head1 SPECIAL PLUGINS
152 =head2 apache
154 This module connects to an Apache webserver and expects the output produced by
155 B<mod_status.c>. If requires B<libcurl> to set up the HTTP connection and issue
156 the request(s). The following is a sample config for the Apache webserver. The
157 use of C<ExtendedStatus on> is mandatory.
159   ExtendedStatus on
160   <IfModule mod_status.c>
161     <Location /mod_status>
162       SetHandler server-status
163     </Location>
164   </IfModule>
166 This plugin requires further configuration. Please read L<collectd.conf(5)>.
168 =head2 cpufreq
170 This module reads F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for
171 the first CPU installed) to get the current CPU frequency. If this file does
172 not exist make sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a
173 similar tool is installed and an "cpu governor" (that's kernel module) is
174 loaded.
176 =head2 mysql
178 Requires B<mysqlclient> to be installed. It connects to the database when
179 started and keeps the connection up as long as possible. When the connection is
180 interrupted for whatever reason it will try to re-connect. The syslog will
181 contain loud complaints in case anything goes wrong.
183 This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
184 C<Com_*> and C<Handler_*> which correspond to F<traffic-mysql.rrd>,
185 F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
186 C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
187 in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
188 I<5.2.4. Server Status Variables> for an explanation of these values.
190 =head2 sensors
192 The B<sensors> module uses lm_sensors to retrieve sensor-values. This means
193 that all the needed modules have to be loaded and lm_sensors has to be
194 configured (most likely by editing F</etc/sensors.conf>. Read
195 L<sensors.conf(5)> for details.
197 The B<lm_sensors> homepage can be found at
198 L<http://secure.netroedge.com/~lm78/>.
200 =head2 hddtemp
202 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
203 port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
204 default values. See L<collectd.conf(5)> for details. C<hddtemp> has to be
205 running to work correctly. If C<hddtemp> is not running timeouts may appear
206 which may interfere with other statistics..
208 The B<hddtemp> homepage can be found at
209 L<http://www.guzu.net/linux/hddtemp.php>.
211 =head2 vserver
213 B<VServer> support is only available for Linux. It cannot yet be found in a 
214 vanilla kernel, though. To make use of this plugin you need a kernel that has 
215 B<VServer> support built in, i.e. you need to apply the patches and compile 
216 your own kernel, which will then provide the /proc/virtual filesystem that is
217 required by this plugin.
219 The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
221 =head1 RRD FILES
223 The RRD files are created automatically. The size of the RRAs depend on the
224 compile time settings of I<step> and I<width>. With the default values (I<step>
225 = B<10>, I<width> = B<1200>) the following RRAs are created:
227   RRA:AVERAGE:0.1:1:8640
228   RRA:AVERAGE:0.1:50:1210
229   RRA:AVERAGE:0.1:223:1202
230   RRA:AVERAGE:0.1:2635:1201
231   RRA:MIN:0.1:1:8640
232   RRA:MIN:0.1:50:1210
233   RRA:MIN:0.1:223:1202
234   RRA:MIN:0.1:2635:1201
235   RRA:MAX:0.1:1:8640
236   RRA:MAX:0.1:50:1210
237   RRA:MAX:0.1:223:1202
238   RRA:MAX:0.1:2635:1201
240 By default collectd uses a 10 second I<step>. Thus the RRAs contain the
241 following timespans. If you've changed the I<step> at compile time you will
242 have calculate resolution and timespan yourself.
244   PDP per CDP |  Resolution  | Data points | Timespan
245   ------------+--------------+-------------+---------
246             1 | 10.0 seconds !        8640 ! 1 day
247            50 |  8.3 minutes |        1210 | 1 week
248           223 | 37.2 minutes |        1202 | 1 month
249          2635 |  7.3 hours   |        1201 | 1 year
251 The DS'es depend on the module creating the RRD files:
253 =over 4
255 =item Apache traffic (F<apache/apache_bytes.rrd>)
257   DS:count:COUNTER:HEARTBEAT:0:134217728
259 =item Apache requests (F<apache/apache_requests.rrd>)
261   DS:count:COUNTER:HEARTBEAT:0:1048576
263 =item Apache scoreboard (F<apache/apache_scoreboard-I<E<lt>nameE<gt>>.rrd>)
265   DS:count:GAUGE:HEARTBEAT:0:U
267 =item Apple temperature sensor (F<apple_sensors/temperature-I<E<lt>nameE<gt>>.rrd>)
269   DS:value:GAUGE:HEARTBEAT:U:U
271 =item Apple fanspeed sensor (F<apple_sensors/fanspeed-I<E<lt>nameE<gt>>.rrd>)
273   DS:value:GAUGE:HEARTBEAT:U:U
275 =item Battery charge (F<battery-I<E<lt>nameE<gt>>/charge.rrd>)
277   DS:charge:GAUGE:25:0:U
279 =item Battery current (F<battery-I<E<lt>nameE<gt>>/current.rrd>)
281   DS:current:GAUGE:25:U:U
283 =item Battery voltage (F<battery-I<E<lt>nameE<gt>>/voltage.rrd>)
285   DS:voltage:GAUGE:25:U:U
287 =item CPU (F<cpu-I<E<lt>numE<gt>>.rrd>)
289   DS:user:COUNTER:25:0:100
290   DS:nice:COUNTER:25:0:100
291   DS:syst:COUNTER:25:0:100
292   DS:idle:COUNTER:25:0:100
293   DS:wait:COUNTER:25:0:100
295 =item CPU frequency (F<cpufreq-I<E<lt>numE<gt>>.rrd>)
297   DS:value:GAUGE:HEARTBEAT:0:U
299 =item Mountpoints (F<df-I<E<lt>pathE<gt>>.rrd>)
301   DS:used:GAUGE:25:0:U
302   DS:free:GAUGE:25:0:U
304 =item Diskstats (F<disk-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
306   DS:rcount:COUNTER:25:0:U
307   DS:rmerged:COUNTER:25:0:U
308   DS:rbytes:COUNTER:25:0:U
309   DS:rtime:COUNTER:25:0:U
310   DS:wcount:COUNTER:25:0:U
311   DS:wmerged:COUNTER:25:0:U
312   DS:wbytes:COUNTER:25:0:U
313   DS:wtime:COUNTER:25:0:U
315 =item Diskstats (F<partition-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
317   DS:rcount:COUNTER:25:0:U
318   DS:rbytes:COUNTER:25:0:U
319   DS:wcount:COUNTER:25:0:U
320   DS:wbytes:COUNTER:25:0:U
322 =item HDD Temperature (F<hddtemp-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
324   DS:value:GAUGE:25:U:U
326 =item System load (F<load.rrd>)
328   DS:shortterm:GAUGE:25:0:100
329   DS:midterm:GAUGE:25:0:100
330   DS:longterm:GAUGE:25:0:100
332 =item Memory usage (F<memory.rrd>)
334   DS:used:GAUGE:25:0:9223372036854775807
335   DS:free:GAUGE:25:0:9223372036854775807
336   DS:buffers:GAUGE:25:0:9223372036854775807
337   DS:cached:GAUGE:25:0:9223372036854775807
339 =item MySQL commands and handlers (F<mysql_commands-I<E<lt>commandE<gt>>.rrd> and F<mysql_handler-I<E<lt>handlerE<gt>>.rrd>)
341   DS:value:COUNTER:25:0:U
343 =item MySQL query cache (F<mysql_qcache.rrd>)
345   DS:hits:COUNTER:25:0:U
346   DS:inserts:COUNTER:25:0:U
347   DS:not_cached:COUNTER:25:0:U
348   DS:lowmem_prunes:COUNTER:25:0:U
349   DS:queries_in_cache:GAUGE:25:0:U
351 =item MySQL threads (F<mysql_threads.rrd>)
353   DS:running:GAUGE:25:0:U
354   DS:connected:GAUGE:25:0:U
355   DS:cached:GAUGE:25:0:U
356   DS:created:COUNTER:25:0:U
358 =item NFSv2 Procedures (F<nfs2_procedures-I<(client|server)>.rrd>)
360   DS:null:COUNTER:25:0:U
361   DS:getattr:COUNTER:25:0:U
362   DS:setattr:COUNTER:25:0:U
363   DS:root:COUNTER:25:0:U
364   DS:lookup:COUNTER:25:0:U
365   DS:readlink:COUNTER:25:0:U
366   DS:read:COUNTER:25:0:U
367   DS:wrcache:COUNTER:25:0:U
368   DS:write:COUNTER:25:0:U
369   DS:create:COUNTER:25:0:U
370   DS:remove:COUNTER:25:0:U
371   DS:rename:COUNTER:25:0:U
372   DS:link:COUNTER:25:0:U
373   DS:symlink:COUNTER:25:0:U
374   DS:mkdir:COUNTER:25:0:U
375   DS:rmdir:COUNTER:25:0:U
376   DS:readdir:COUNTER:25:0:U
377   DS:fsstat:COUNTER:25:0:U
379 =item NFSv3 Procedures (F<nfs3_procedures-I<(client|server)>.rrd>)
381   DS:null:COUNTER:25:0:U
382   DS:getattr:COUNTER:25:0:U
383   DS:setattr:COUNTER:25:0:U
384   DS:lookup:COUNTER:25:0:U
385   DS:access:COUNTER:25:0:U
386   DS:readlink:COUNTER:25:0:U
387   DS:read:COUNTER:25:0:U
388   DS:write:COUNTER:25:0:U
389   DS:create:COUNTER:25:0:U
390   DS:mkdir:COUNTER:25:0:U
391   DS:symlink:COUNTER:25:0:U
392   DS:mknod:COUNTER:25:0:U
393   DS:remove:COUNTER:25:0:U
394   DS:rmdir:COUNTER:25:0:U
395   DS:rename:COUNTER:25:0:U
396   DS:link:COUNTER:25:0:U
397   DS:readdir:COUNTER:25:0:U
398   DS:readdirplus:COUNTER:25:0:U
399   DS:fsstat:COUNTER:25:0:U
400   DS:fsinfo:COUNTER:25:0:U
401   DS:pathconf:COUNTER:25:0:U
402   DS:commit:COUNTER:25:0:U
404 =item Network latency / Ping (F<ping-I<E<lt>hostnameE<gt>>.rrd>)
406   DS:ping:GAUGE:25:0:65535
408 =item Processes (F<processes.rrd>)
410   DS:running:GAUGE:25:0:65535
411   DS:sleeping:GAUGE:25:0:65535
412   DS:zombies:GAUGE:25:0:65535
413   DS:stopped:GAUGE:25:0:65535
414   DS:paging:GAUGE:25:0:65535
415   DS:blocked:GAUGE:25:0:65535
417 =item lm_sensors (F<sensors-I<E<lt>chipE<gt>>-I<E<lt>featureE<gt>>.rrd>)
419   DS:value:GAUGE:25:U:U
421 =item Serial port traffic (F<serial-I<E<lt>numE<gt>>.rrd>)
423   DS:incoming:COUNTER:25:0:U
424   DS:outgoing:COUNTER:25:0:U
426 =item Swap usage (F<swap.rrd>)
428   DS:used:GAUGE:25:0:1099511627776
429   DS:free:GAUGE:25:0:1099511627776
430   DS:cached:GAUGE:25:0:1099511627776
431   DS:resv:GAUGE:25:0:1099511627776
433 =item Tape drive usage (F<tape-I<E<lt>nameE<gt>>.rrd>)
435   DS:rcount:COUNTER:25:0:
436   DS:rmerged:COUNTER:25:0:U
437   DS:rbytes:COUNTER:25:0:U
438   DS:rtime:COUNTER:25:0:U
439   DS:wcount:COUNTER:25:0:U
440   DS:wmerged:COUNTER:25:0:U
441   DS:wbytes:COUNTER:25:0:U
442   DS:wtime:COUNTER:25:0:U
444 =item Network traffic (F<traffic-I<E<lt>nameE<gt>>.rrd>)
446   DS:incoming:COUNTER:25:0:U
447   DS:outgoing:COUNTER:25:0:U
449 =item Users (F<users.rrd>)
451   DS:users:GAUGE:25:0:65535
453 =item VServer load (F<vserver-I<E<lt>xidE<gt>>/load.rrd>)
455   DS:shortterm:GAUGE:25:0:100
456   DS:midterm:GAUGE:25:0:100
457   DS:longterm:GAUGE:25:0:100
459 =item VServer threads (F<vserver-I<E<lt>xidE<gt>>/threads.rrd>)
461   DS:total:GAUGE:25:0:65535
462   DS:running:GAUGE:25:0:65535
463   DS:uninterruptible:GAUGE:25:0:65535
464   DS:onhold:GAUGE:25:0:65535
466 =item VServer network traffic (F<vserver-I<E<lt>xidE<gt>>/traffic-I<E<lt>nameE<gt>>.rrd>)
468   DS:incoming:COUNTER:25:0:9223372036854775807
469   DS:outgoing:COUNTER:25:0:9223372036854775807
470   DS:failed:COUNTER:25:0:9223372036854775807
472 =item VServer processes (F<vserver-I<E<lt>xidE<gt>>/vs_processes.rrd>)
474   DS:total:GAUGE:25:0:65535
476 =item VServer memory usage (F<vserver-I<E<lt>xidE<gt>>/vs_memory.rrd>)
478   DS:vm:GAUGE:25:0:9223372036854775807
479   DS:vml:GAUGE:25:0:9223372036854775807
480   DS:rss:GAUGE:25:0:9223372036854775807
481   DS:anon:GAUGE:25:0:9223372036854775807
483 =item Wireless link quality (F<wireless-I<E<lt>interfaceE<gt>>.rrd>)
485   DS:quality:GAUGE:HEARTBEAT:0:U
486   DS:power:GAUGE:HEARTBEAT:U:0
487   DS:noise:GAUGE:HEARTBEAT:U:0
489 =back
491 =head1 SEE ALSO
493 L<collectd.conf(5)>, L<rrdtool(1)>, L<sensors(1)>, L<hddtemp(8)>,
494 L<kstat(3KSTAT)>
496 =head1 AUTHOR
498 Florian Forster E<lt>octo@verplant.orgE<gt>
500 =cut