Code

sensors plugin: Made sensors.conf path configurable
[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 DNS traffic (I<dns>)
45 =item
47 Email usage (I<email>)
49 =item
51 Harddisk temperatures (I<hddtemp>)
53 =item
55 System load averages (I<load>)
57 =item
59 Memory usage (I<memory>)
61 =item
63 MySQL statistics (I<mysql>)
65 =item
67 NFS utilization (I<nfs>, Linux only)
69 =item
71 Network latency (I<ping>)
73 =item
75 Number of processes (I<processes>, Linux only)
77 =item
79 lm_sensors information (I<sensors>, Linux only)
81 =item
83 Serial port traffic (I<serial>, Linux only)
85 =item
87 Swap usage (I<swap>)
89 =item
91 Tape drive usage (I<tape>, Solaris only)
93 =item
95 Network traffic (I<traffic>)
97 =item
99 Number of users logged into the system (I<users>)
101 =item
103 System ressources used by VServers (I<vserver>)
105 =item
107 Wireless network stats (I<wireless>)
109 =back
111 =head1 OPTIONS
113 =over 4
115 =item B<-C> I<E<lt>config-fileE<gt>>
117 Specify an alternative config file. This is the place to go when you wish to
118 change B<collectd>'s behavior. The path may be relative to the current working
119 directory.
121 =item B<-P> I<E<lt>pid-fileE<gt>>
123 Specify an alternative pid file. This overwrites any settings in the config 
124 file. This is thought for init-scripts that require the PID-file in a certain
125 directory to work correctly. For everyday-usage use the B<PIDFile>
126 config-option.
128 =item B<-f>
130 Don't fork to the background. I<collectd> will also B<not> close standard file
131 descriptors, detach from the session nor write a pid file. This is mainly
132 thought for 'supervisioning' init replacements such as I<runit>.
134 =item B<-h>
136 Output usage information and exit.
138 =back
140 =head1 MODES
142 collectd can operate in four different operating modes. The modes are described
143 below.
145 The simplest mode is the so called B<local mode>. Data is collected locally and
146 written in RRD files that reside in I<DataDir>. This is the default mode when
147 collectd is linked against C<librrd>.
149 The modes B<client mode> and B<server mode> are used to send data over a
150 network and receive it again.
152 In B<client mode> the daemon collects the data locally and sends its results
153 to one or more network addresses. No RRD files are written locally in this
154 case. If collectd is not linked against C<librrd> this is the default mode.
156 If started in B<server mode> the daemon will listen on one or more interfaces
157 and write the data it receives to RRD files. No data is collected locally.
159 In the last mode, B<log mode>, data is collected locally and written in
160 text files that reside in I<DataDir>.
162 Please refer to L<collectd.conf(5)> for the configuration options and default
163 values.
165 =head1 SPECIAL PLUGINS
167 =head2 apache
169 This module connects to an Apache webserver and expects the output produced by
170 B<mod_status.c>. If requires B<libcurl> to set up the HTTP connection and issue
171 the request(s). The following is a sample config for the Apache webserver. The
172 use of C<ExtendedStatus on> is mandatory.
174   ExtendedStatus on
175   <IfModule mod_status.c>
176     <Location /mod_status>
177       SetHandler server-status
178     </Location>
179   </IfModule>
181 This plugin requires further configuration. Please read L<collectd.conf(5)>.
183 =head2 cpufreq
185 This module reads F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for
186 the first CPU installed) to get the current CPU frequency. If this file does
187 not exist make sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a
188 similar tool is installed and an "cpu governor" (that's kernel module) is
189 loaded.
191 =head2 mysql
193 Requires B<mysqlclient> to be installed. It connects to the database when
194 started and keeps the connection up as long as possible. When the connection is
195 interrupted for whatever reason it will try to re-connect. The syslog will
196 contain loud complaints in case anything goes wrong.
198 This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
199 C<Com_*> and C<Handler_*> which correspond to F<traffic-mysql.rrd>,
200 F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
201 C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
202 in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
203 I<5.2.4. Server Status Variables> for an explanation of these values.
205 =head2 sensors
207 The B<sensors> module uses lm_sensors to retrieve sensor-values. This means
208 that all the needed modules have to be loaded and lm_sensors has to be
209 configured (most likely by editing F</etc/sensors.conf>. Read
210 L<sensors.conf(5)> for details.
212 The B<lm_sensors> homepage can be found at
213 L<http://secure.netroedge.com/~lm78/>.
215 =head2 hddtemp
217 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
218 port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
219 default values. See L<collectd.conf(5)> for details. C<hddtemp> has to be
220 running to work correctly. If C<hddtemp> is not running timeouts may appear
221 which may interfere with other statistics..
223 The B<hddtemp> homepage can be found at
224 L<http://www.guzu.net/linux/hddtemp.php>.
226 =head2 vserver
228 B<VServer> support is only available for Linux. It cannot yet be found in a 
229 vanilla kernel, though. To make use of this plugin you need a kernel that has 
230 B<VServer> support built in, i.e. you need to apply the patches and compile 
231 your own kernel, which will then provide the /proc/virtual filesystem that is
232 required by this plugin.
234 The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
236 =head1 RRD FILES
238 The RRD files are created automatically. The size of the RRAs depend on the
239 compile time settings of I<step> and I<width>. With the default values (I<step>
240 = B<10>, I<width> = B<1200>) the following RRAs are created:
242   RRA:AVERAGE:0.1:1:8640
243   RRA:AVERAGE:0.1:50:1210
244   RRA:AVERAGE:0.1:223:1202
245   RRA:AVERAGE:0.1:2635:1201
246   RRA:MIN:0.1:1:8640
247   RRA:MIN:0.1:50:1210
248   RRA:MIN:0.1:223:1202
249   RRA:MIN:0.1:2635:1201
250   RRA:MAX:0.1:1:8640
251   RRA:MAX:0.1:50:1210
252   RRA:MAX:0.1:223:1202
253   RRA:MAX:0.1:2635:1201
255 By default collectd uses a 10 second I<step>. Thus the RRAs contain the
256 following timespans. If you've changed the I<step> at compile time you will
257 have calculate resolution and timespan yourself.
259   PDP per CDP |  Resolution  | Data points | Timespan
260   ------------+--------------+-------------+---------
261             1 | 10.0 seconds !        8640 ! 1 day
262            50 |  8.3 minutes |        1210 | 1 week
263           223 | 37.2 minutes |        1202 | 1 month
264          2635 |  7.3 hours   |        1201 | 1 year
266 The DS'es depend on the module creating the RRD files:
268 =over 4
270 =item Apache traffic (F<apache/apache_bytes.rrd>)
272   DS:count:COUNTER:HEARTBEAT:0:134217728
274 =item Apache requests (F<apache/apache_requests.rrd>)
276   DS:count:COUNTER:HEARTBEAT:0:1048576
278 =item Apache scoreboard (F<apache/apache_scoreboard-I<E<lt>nameE<gt>>.rrd>)
280   DS:count:GAUGE:HEARTBEAT:0:U
282 =item Apple temperature sensor (F<apple_sensors/temperature-I<E<lt>nameE<gt>>.rrd>)
284   DS:value:GAUGE:HEARTBEAT:U:U
286 =item Apple fanspeed sensor (F<apple_sensors/fanspeed-I<E<lt>nameE<gt>>.rrd>)
288   DS:value:GAUGE:HEARTBEAT:U:U
290 =item Battery charge (F<battery-I<E<lt>nameE<gt>>/charge.rrd>)
292   DS:charge:GAUGE:HEARTBEAT:0:U
294 =item Battery current (F<battery-I<E<lt>nameE<gt>>/current.rrd>)
296   DS:current:GAUGE:HEARTBEAT:U:U
298 =item Battery voltage (F<battery-I<E<lt>nameE<gt>>/voltage.rrd>)
300   DS:voltage:GAUGE:HEARTBEAT:U:U
302 =item CPU (F<cpu-I<E<lt>numE<gt>>.rrd>)
304   DS:user:COUNTER:HEARTBEAT:0:100
305   DS:nice:COUNTER:HEARTBEAT:0:100
306   DS:syst:COUNTER:HEARTBEAT:0:100
307   DS:idle:COUNTER:HEARTBEAT:0:100
308   DS:wait:COUNTER:HEARTBEAT:0:100
310 =item CPU frequency (F<cpufreq-I<E<lt>numE<gt>>.rrd>)
312   DS:value:GAUGE:HEARTBEAT:0:U
314 =item Mountpoints (F<df-I<E<lt>pathE<gt>>.rrd>)
316   DS:used:GAUGE:HEARTBEAT:0:U
317   DS:free:GAUGE:HEARTBEAT:0:U
319 =item Diskstats (F<disk-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
321   DS:rcount:COUNTER:HEARTBEAT:0:U
322   DS:rmerged:COUNTER:HEARTBEAT:0:U
323   DS:rbytes:COUNTER:HEARTBEAT:0:U
324   DS:rtime:COUNTER:HEARTBEAT:0:U
325   DS:wcount:COUNTER:HEARTBEAT:0:U
326   DS:wmerged:COUNTER:HEARTBEAT:0:U
327   DS:wbytes:COUNTER:HEARTBEAT:0:U
328   DS:wtime:COUNTER:HEARTBEAT:0:U
330 =item Diskstats (F<partition-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
332   DS:rcount:COUNTER:HEARTBEAT:0:U
333   DS:rbytes:COUNTER:HEARTBEAT:0:U
334   DS:wcount:COUNTER:HEARTBEAT:0:U
335   DS:wbytes:COUNTER:HEARTBEAT:0:U
337 =item HDD Temperature (F<hddtemp-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
339   DS:value:GAUGE:HEARTBEAT:U:U
341 =item System load (F<load.rrd>)
343   DS:shortterm:GAUGE:HEARTBEAT:0:100
344   DS:midterm:GAUGE:HEARTBEAT:0:100
345   DS:longterm:GAUGE:HEARTBEAT:0:100
347 =item Memory usage (F<memory.rrd>)
349   DS:used:GAUGE:HEARTBEAT:0:9223372036854775807
350   DS:free:GAUGE:HEARTBEAT:0:9223372036854775807
351   DS:buffers:GAUGE:HEARTBEAT:0:9223372036854775807
352   DS:cached:GAUGE:HEARTBEAT:0:9223372036854775807
354 =item MySQL commands and handlers (F<mysql_commands-I<E<lt>commandE<gt>>.rrd> and F<mysql_handler-I<E<lt>handlerE<gt>>.rrd>)
356   DS:value:COUNTER:HEARTBEAT:0:U
358 =item MySQL query cache (F<mysql_qcache.rrd>)
360   DS:hits:COUNTER:HEARTBEAT:0:U
361   DS:inserts:COUNTER:HEARTBEAT:0:U
362   DS:not_cached:COUNTER:HEARTBEAT:0:U
363   DS:lowmem_prunes:COUNTER:HEARTBEAT:0:U
364   DS:queries_in_cache:GAUGE:HEARTBEAT:0:U
366 =item MySQL threads (F<mysql_threads.rrd>)
368   DS:running:GAUGE:HEARTBEAT:0:U
369   DS:connected:GAUGE:HEARTBEAT:0:U
370   DS:cached:GAUGE:HEARTBEAT:0:U
371   DS:created:COUNTER:HEARTBEAT:0:U
373 =item NFSv2 Procedures (F<nfs2_procedures-I<(client|server)>.rrd>)
375   DS:null:COUNTER:HEARTBEAT:0:U
376   DS:getattr:COUNTER:HEARTBEAT:0:U
377   DS:setattr:COUNTER:HEARTBEAT:0:U
378   DS:root:COUNTER:HEARTBEAT:0:U
379   DS:lookup:COUNTER:HEARTBEAT:0:U
380   DS:readlink:COUNTER:HEARTBEAT:0:U
381   DS:read:COUNTER:HEARTBEAT:0:U
382   DS:wrcache:COUNTER:HEARTBEAT:0:U
383   DS:write:COUNTER:HEARTBEAT:0:U
384   DS:create:COUNTER:HEARTBEAT:0:U
385   DS:remove:COUNTER:HEARTBEAT:0:U
386   DS:rename:COUNTER:HEARTBEAT:0:U
387   DS:link:COUNTER:HEARTBEAT:0:U
388   DS:symlink:COUNTER:HEARTBEAT:0:U
389   DS:mkdir:COUNTER:HEARTBEAT:0:U
390   DS:rmdir:COUNTER:HEARTBEAT:0:U
391   DS:readdir:COUNTER:HEARTBEAT:0:U
392   DS:fsstat:COUNTER:HEARTBEAT:0:U
394 =item NFSv3 Procedures (F<nfs3_procedures-I<(client|server)>.rrd>)
396   DS:null:COUNTER:HEARTBEAT:0:U
397   DS:getattr:COUNTER:HEARTBEAT:0:U
398   DS:setattr:COUNTER:HEARTBEAT:0:U
399   DS:lookup:COUNTER:HEARTBEAT:0:U
400   DS:access:COUNTER:HEARTBEAT:0:U
401   DS:readlink:COUNTER:HEARTBEAT:0:U
402   DS:read:COUNTER:HEARTBEAT:0:U
403   DS:write:COUNTER:HEARTBEAT:0:U
404   DS:create:COUNTER:HEARTBEAT:0:U
405   DS:mkdir:COUNTER:HEARTBEAT:0:U
406   DS:symlink:COUNTER:HEARTBEAT:0:U
407   DS:mknod:COUNTER:HEARTBEAT:0:U
408   DS:remove:COUNTER:HEARTBEAT:0:U
409   DS:rmdir:COUNTER:HEARTBEAT:0:U
410   DS:rename:COUNTER:HEARTBEAT:0:U
411   DS:link:COUNTER:HEARTBEAT:0:U
412   DS:readdir:COUNTER:HEARTBEAT:0:U
413   DS:readdirplus:COUNTER:HEARTBEAT:0:U
414   DS:fsstat:COUNTER:HEARTBEAT:0:U
415   DS:fsinfo:COUNTER:HEARTBEAT:0:U
416   DS:pathconf:COUNTER:HEARTBEAT:0:U
417   DS:commit:COUNTER:HEARTBEAT:0:U
419 =item Network latency / Ping (F<ping-I<E<lt>hostnameE<gt>>.rrd>)
421   DS:ping:GAUGE:HEARTBEAT:0:65535
423 =item Processes (F<processes.rrd>)
425   DS:running:GAUGE:HEARTBEAT:0:65535
426   DS:sleeping:GAUGE:HEARTBEAT:0:65535
427   DS:zombies:GAUGE:HEARTBEAT:0:65535
428   DS:stopped:GAUGE:HEARTBEAT:0:65535
429   DS:paging:GAUGE:HEARTBEAT:0:65535
430   DS:blocked:GAUGE:HEARTBEAT:0:65535
432 =item lm_sensors fanspeed sensor (F<sensors-I<E<lt>instE<gt>>.rrd> or F<lm_sensors-I<E<lt>chipE<gt>>/fanspeed-I<E<lt>instE<gt>>.rrd>)
434   DS:value:GAUGE:HEARTBEAT:U:U
436 =item lm_sensors temperature sensor (F<sensors-I<E<lt>instE<gt>>.rrd> or F<lm_sensors-I<E<lt>chipE<gt>>/temperature-I<E<lt>instE<gt>>.rrd>)
438   DS:value:GAUGE:HEARTBEAT:U:U
440 =item lm_sensors voltage sensor (F<sensors-I<E<lt>instE<gt>>.rrd> or F<lm_sensors-I<E<lt>chipE<gt>>/voltage-I<E<lt>instE<gt>>.rrd>)
442   DS:voltage:GAUGE:HEARTBEAT:U:U
444 =item Serial port traffic (F<serial-I<E<lt>numE<gt>>.rrd>)
446   DS:incoming:COUNTER:HEARTBEAT:0:U
447   DS:outgoing:COUNTER:HEARTBEAT:0:U
449 =item Swap usage (F<swap.rrd>)
451   DS:used:GAUGE:HEARTBEAT:0:1099511627776
452   DS:free:GAUGE:HEARTBEAT:0:1099511627776
453   DS:cached:GAUGE:HEARTBEAT:0:1099511627776
454   DS:resv:GAUGE:HEARTBEAT:0:1099511627776
456 =item Tape drive usage (F<tape-I<E<lt>nameE<gt>>.rrd>)
458   DS:rcount:COUNTER:HEARTBEAT:0:
459   DS:rmerged:COUNTER:HEARTBEAT:0:U
460   DS:rbytes:COUNTER:HEARTBEAT:0:U
461   DS:rtime:COUNTER:HEARTBEAT:0:U
462   DS:wcount:COUNTER:HEARTBEAT:0:U
463   DS:wmerged:COUNTER:HEARTBEAT:0:U
464   DS:wbytes:COUNTER:HEARTBEAT:0:U
465   DS:wtime:COUNTER:HEARTBEAT:0:U
467 =item Network traffic (F<traffic-I<E<lt>interfaceE<gt>>.rrd>)
469   DS:incoming:COUNTER:HEARTBEAT:0:U
470   DS:outgoing:COUNTER:HEARTBEAT:0:U
472 =item Interface packets (F<if_packets-I<E<lt>interfaceE<gt>>.rrd>)
474   DS:rx:COUNTER:HEARTBEAT:0:U
475   DS:tx:COUNTER:HEARTBEAT:0:U
477 =item Interface errors (F<if_errors-I<E<lt>interfaceE<gt>>.rrd>)
479   DS:rx:COUNTER:HEARTBEAT:0:U
480   DS:tx:COUNTER:HEARTBEAT:0:U
482 =item Users (F<users.rrd>)
484   DS:users:GAUGE:HEARTBEAT:0:65535
486 =item VServer load (F<vserver-I<E<lt>xidE<gt>>/load.rrd>)
488   DS:shortterm:GAUGE:HEARTBEAT:0:100
489   DS:midterm:GAUGE:HEARTBEAT:0:100
490   DS:longterm:GAUGE:HEARTBEAT:0:100
492 =item VServer threads (F<vserver-I<E<lt>xidE<gt>>/threads.rrd>)
494   DS:total:GAUGE:HEARTBEAT:0:65535
495   DS:running:GAUGE:HEARTBEAT:0:65535
496   DS:uninterruptible:GAUGE:HEARTBEAT:0:65535
497   DS:onhold:GAUGE:HEARTBEAT:0:65535
499 =item VServer network traffic (F<vserver-I<E<lt>xidE<gt>>/traffic-I<E<lt>nameE<gt>>.rrd>)
501   DS:incoming:COUNTER:HEARTBEAT:0:9223372036854775807
502   DS:outgoing:COUNTER:HEARTBEAT:0:9223372036854775807
503   DS:failed:COUNTER:HEARTBEAT:0:9223372036854775807
505 =item VServer processes (F<vserver-I<E<lt>xidE<gt>>/vs_processes.rrd>)
507   DS:total:GAUGE:HEARTBEAT:0:65535
509 =item VServer memory usage (F<vserver-I<E<lt>xidE<gt>>/vs_memory.rrd>)
511   DS:vm:GAUGE:HEARTBEAT:0:9223372036854775807
512   DS:vml:GAUGE:HEARTBEAT:0:9223372036854775807
513   DS:rss:GAUGE:HEARTBEAT:0:9223372036854775807
514   DS:anon:GAUGE:HEARTBEAT:0:9223372036854775807
516 =item Wireless link quality (F<wireless-I<E<lt>interfaceE<gt>>.rrd>)
518   DS:quality:GAUGE:HEARTBEAT:0:U
519   DS:power:GAUGE:HEARTBEAT:U:0
520   DS:noise:GAUGE:HEARTBEAT:U:0
522 =back
524 =head1 SEE ALSO
526 L<collectd.conf(5)>, L<rrdtool(1)>, L<sensors(1)>, L<hddtemp(8)>,
527 L<kstat(3KSTAT)>
529 =head1 AUTHOR
531 Florian Forster E<lt>octo@verplant.orgE<gt>
533 =cut