3 collectd - System statistics collection daemon
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:
19 Apache server stats (I<apache>)
23 Apple hardware sensors (I<apple_sensors>, Darwin only)
27 Battery status (I<battery>)
31 CPU utilization (I<cpu>)
35 Mountpoint usage (I<df>)
39 Disk and partition usage/throughput (I<disk>)
43 Harddisk temperatures (I<hddtemp>)
47 System load averages (I<load>)
51 Memory usage (I<memory>)
55 MySQL statistics (I<mysql>)
59 NFS utilization (I<nfs>, Linux only)
63 Network latency (I<ping>)
67 Number of processes (I<processes>, Linux only)
71 lm_sensors information (I<sensors>, Linux only)
75 Serial port traffic (I<serial>, Linux only)
83 Tape drive usage (I<tape>, Solaris only)
87 Network traffic (I<traffic>)
91 Number of users logged into the system (I<users>)
95 System ressources used by VServers (I<vserver>)
99 Wireless network stats (I<wireless>)
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
113 =item B<-P> I<E<lt>pid-fileE<gt>>
115 Specify an alternative pid file. This overwrites any settings in the config
116 file. This is thought for init-scripts that require the PID-file in a certain
117 directory to work correctly. For everyday-usage use the B<PIDFile>
122 Don't fork to the background. I<collectd> will also B<not> close standard file
123 descriptors, detach from the session nor write a pid file. This is mainly
124 thought for 'supervisioning' init replacements such as I<runit>.
128 Output usage information and exit.
134 collectd can operate in four different operating modes. The modes are described
137 The simplest mode is the so called B<local mode>. Data is collected locally and
138 written in RRD files that reside in I<DataDir>. This is the default mode when
139 collectd is linked against C<librrd>.
141 The modes B<client mode> and B<server mode> are used to send data over a
142 network and receive it again.
144 In B<client mode> the daemon collects the data locally and sends its results
145 to one or more network addresses. No RRD files are written locally in this
146 case. If collectd is not linked against C<librrd> this is the default mode.
148 If started in B<server mode> the daemon will listen on one or more interfaces
149 and write the data it receives to RRD files. No data is collected locally.
151 In the last mode, B<log mode>, data is collected locally and written in
152 text files that reside in I<DataDir>.
154 Please refer to L<collectd.conf(5)> for the configuration options and default
157 =head1 SPECIAL PLUGINS
161 This module connects to an Apache webserver and expects the output produced by
162 B<mod_status.c>. If requires B<libcurl> to set up the HTTP connection and issue
163 the request(s). The following is a sample config for the Apache webserver. The
164 use of C<ExtendedStatus on> is mandatory.
167 <IfModule mod_status.c>
168 <Location /mod_status>
169 SetHandler server-status
173 This plugin requires further configuration. Please read L<collectd.conf(5)>.
177 This module reads F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for
178 the first CPU installed) to get the current CPU frequency. If this file does
179 not exist make sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a
180 similar tool is installed and an "cpu governor" (that's kernel module) is
185 Requires B<mysqlclient> to be installed. It connects to the database when
186 started and keeps the connection up as long as possible. When the connection is
187 interrupted for whatever reason it will try to re-connect. The syslog will
188 contain loud complaints in case anything goes wrong.
190 This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
191 C<Com_*> and C<Handler_*> which correspond to F<traffic-mysql.rrd>,
192 F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
193 C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
194 in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
195 I<5.2.4. Server Status Variables> for an explanation of these values.
199 The B<sensors> module uses lm_sensors to retrieve sensor-values. This means
200 that all the needed modules have to be loaded and lm_sensors has to be
201 configured (most likely by editing F</etc/sensors.conf>. Read
202 L<sensors.conf(5)> for details.
204 The B<lm_sensors> homepage can be found at
205 L<http://secure.netroedge.com/~lm78/>.
209 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
210 port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
211 default values. See L<collectd.conf(5)> for details. C<hddtemp> has to be
212 running to work correctly. If C<hddtemp> is not running timeouts may appear
213 which may interfere with other statistics..
215 The B<hddtemp> homepage can be found at
216 L<http://www.guzu.net/linux/hddtemp.php>.
220 B<VServer> support is only available for Linux. It cannot yet be found in a
221 vanilla kernel, though. To make use of this plugin you need a kernel that has
222 B<VServer> support built in, i.e. you need to apply the patches and compile
223 your own kernel, which will then provide the /proc/virtual filesystem that is
224 required by this plugin.
226 The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
230 The RRD files are created automatically. The size of the RRAs depend on the
231 compile time settings of I<step> and I<width>. With the default values (I<step>
232 = B<10>, I<width> = B<1200>) the following RRAs are created:
234 RRA:AVERAGE:0.1:1:8640
235 RRA:AVERAGE:0.1:50:1210
236 RRA:AVERAGE:0.1:223:1202
237 RRA:AVERAGE:0.1:2635:1201
241 RRA:MIN:0.1:2635:1201
245 RRA:MAX:0.1:2635:1201
247 By default collectd uses a 10 second I<step>. Thus the RRAs contain the
248 following timespans. If you've changed the I<step> at compile time you will
249 have calculate resolution and timespan yourself.
251 PDP per CDP | Resolution | Data points | Timespan
252 ------------+--------------+-------------+---------
253 1 | 10.0 seconds ! 8640 ! 1 day
254 50 | 8.3 minutes | 1210 | 1 week
255 223 | 37.2 minutes | 1202 | 1 month
256 2635 | 7.3 hours | 1201 | 1 year
258 The DS'es depend on the module creating the RRD files:
262 =item Apache traffic (F<apache/apache_bytes.rrd>)
264 DS:count:COUNTER:HEARTBEAT:0:134217728
266 =item Apache requests (F<apache/apache_requests.rrd>)
268 DS:count:COUNTER:HEARTBEAT:0:1048576
270 =item Apache scoreboard (F<apache/apache_scoreboard-I<E<lt>nameE<gt>>.rrd>)
272 DS:count:GAUGE:HEARTBEAT:0:U
274 =item Apple temperature sensor (F<apple_sensors/temperature-I<E<lt>nameE<gt>>.rrd>)
276 DS:value:GAUGE:HEARTBEAT:U:U
278 =item Apple fanspeed sensor (F<apple_sensors/fanspeed-I<E<lt>nameE<gt>>.rrd>)
280 DS:value:GAUGE:HEARTBEAT:U:U
282 =item Battery charge (F<battery-I<E<lt>nameE<gt>>/charge.rrd>)
284 DS:charge:GAUGE:HEARTBEAT:0:U
286 =item Battery current (F<battery-I<E<lt>nameE<gt>>/current.rrd>)
288 DS:current:GAUGE:HEARTBEAT:U:U
290 =item Battery voltage (F<battery-I<E<lt>nameE<gt>>/voltage.rrd>)
292 DS:voltage:GAUGE:HEARTBEAT:U:U
294 =item CPU (F<cpu-I<E<lt>numE<gt>>.rrd>)
296 DS:user:COUNTER:HEARTBEAT:0:100
297 DS:nice:COUNTER:HEARTBEAT:0:100
298 DS:syst:COUNTER:HEARTBEAT:0:100
299 DS:idle:COUNTER:HEARTBEAT:0:100
300 DS:wait:COUNTER:HEARTBEAT:0:100
302 =item CPU frequency (F<cpufreq-I<E<lt>numE<gt>>.rrd>)
304 DS:value:GAUGE:HEARTBEAT:0:U
306 =item Mountpoints (F<df-I<E<lt>pathE<gt>>.rrd>)
308 DS:used:GAUGE:HEARTBEAT:0:U
309 DS:free:GAUGE:HEARTBEAT:0:U
311 =item Diskstats (F<disk-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
313 DS:rcount:COUNTER:HEARTBEAT:0:U
314 DS:rmerged:COUNTER:HEARTBEAT:0:U
315 DS:rbytes:COUNTER:HEARTBEAT:0:U
316 DS:rtime:COUNTER:HEARTBEAT:0:U
317 DS:wcount:COUNTER:HEARTBEAT:0:U
318 DS:wmerged:COUNTER:HEARTBEAT:0:U
319 DS:wbytes:COUNTER:HEARTBEAT:0:U
320 DS:wtime:COUNTER:HEARTBEAT:0:U
322 =item Diskstats (F<partition-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
324 DS:rcount:COUNTER:HEARTBEAT:0:U
325 DS:rbytes:COUNTER:HEARTBEAT:0:U
326 DS:wcount:COUNTER:HEARTBEAT:0:U
327 DS:wbytes:COUNTER:HEARTBEAT:0:U
329 =item HDD Temperature (F<hddtemp-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
331 DS:value:GAUGE:HEARTBEAT:U:U
333 =item System load (F<load.rrd>)
335 DS:shortterm:GAUGE:HEARTBEAT:0:100
336 DS:midterm:GAUGE:HEARTBEAT:0:100
337 DS:longterm:GAUGE:HEARTBEAT:0:100
339 =item Memory usage (F<memory.rrd>)
341 DS:used:GAUGE:HEARTBEAT:0:9223372036854775807
342 DS:free:GAUGE:HEARTBEAT:0:9223372036854775807
343 DS:buffers:GAUGE:HEARTBEAT:0:9223372036854775807
344 DS:cached:GAUGE:HEARTBEAT:0:9223372036854775807
346 =item MySQL commands and handlers (F<mysql_commands-I<E<lt>commandE<gt>>.rrd> and F<mysql_handler-I<E<lt>handlerE<gt>>.rrd>)
348 DS:value:COUNTER:HEARTBEAT:0:U
350 =item MySQL query cache (F<mysql_qcache.rrd>)
352 DS:hits:COUNTER:HEARTBEAT:0:U
353 DS:inserts:COUNTER:HEARTBEAT:0:U
354 DS:not_cached:COUNTER:HEARTBEAT:0:U
355 DS:lowmem_prunes:COUNTER:HEARTBEAT:0:U
356 DS:queries_in_cache:GAUGE:HEARTBEAT:0:U
358 =item MySQL threads (F<mysql_threads.rrd>)
360 DS:running:GAUGE:HEARTBEAT:0:U
361 DS:connected:GAUGE:HEARTBEAT:0:U
362 DS:cached:GAUGE:HEARTBEAT:0:U
363 DS:created:COUNTER:HEARTBEAT:0:U
365 =item NFSv2 Procedures (F<nfs2_procedures-I<(client|server)>.rrd>)
367 DS:null:COUNTER:HEARTBEAT:0:U
368 DS:getattr:COUNTER:HEARTBEAT:0:U
369 DS:setattr:COUNTER:HEARTBEAT:0:U
370 DS:root:COUNTER:HEARTBEAT:0:U
371 DS:lookup:COUNTER:HEARTBEAT:0:U
372 DS:readlink:COUNTER:HEARTBEAT:0:U
373 DS:read:COUNTER:HEARTBEAT:0:U
374 DS:wrcache:COUNTER:HEARTBEAT:0:U
375 DS:write:COUNTER:HEARTBEAT:0:U
376 DS:create:COUNTER:HEARTBEAT:0:U
377 DS:remove:COUNTER:HEARTBEAT:0:U
378 DS:rename:COUNTER:HEARTBEAT:0:U
379 DS:link:COUNTER:HEARTBEAT:0:U
380 DS:symlink:COUNTER:HEARTBEAT:0:U
381 DS:mkdir:COUNTER:HEARTBEAT:0:U
382 DS:rmdir:COUNTER:HEARTBEAT:0:U
383 DS:readdir:COUNTER:HEARTBEAT:0:U
384 DS:fsstat:COUNTER:HEARTBEAT:0:U
386 =item NFSv3 Procedures (F<nfs3_procedures-I<(client|server)>.rrd>)
388 DS:null:COUNTER:HEARTBEAT:0:U
389 DS:getattr:COUNTER:HEARTBEAT:0:U
390 DS:setattr:COUNTER:HEARTBEAT:0:U
391 DS:lookup:COUNTER:HEARTBEAT:0:U
392 DS:access:COUNTER:HEARTBEAT:0:U
393 DS:readlink:COUNTER:HEARTBEAT:0:U
394 DS:read:COUNTER:HEARTBEAT:0:U
395 DS:write:COUNTER:HEARTBEAT:0:U
396 DS:create:COUNTER:HEARTBEAT:0:U
397 DS:mkdir:COUNTER:HEARTBEAT:0:U
398 DS:symlink:COUNTER:HEARTBEAT:0:U
399 DS:mknod:COUNTER:HEARTBEAT:0:U
400 DS:remove:COUNTER:HEARTBEAT:0:U
401 DS:rmdir:COUNTER:HEARTBEAT:0:U
402 DS:rename:COUNTER:HEARTBEAT:0:U
403 DS:link:COUNTER:HEARTBEAT:0:U
404 DS:readdir:COUNTER:HEARTBEAT:0:U
405 DS:readdirplus:COUNTER:HEARTBEAT:0:U
406 DS:fsstat:COUNTER:HEARTBEAT:0:U
407 DS:fsinfo:COUNTER:HEARTBEAT:0:U
408 DS:pathconf:COUNTER:HEARTBEAT:0:U
409 DS:commit:COUNTER:HEARTBEAT:0:U
411 =item Network latency / Ping (F<ping-I<E<lt>hostnameE<gt>>.rrd>)
413 DS:ping:GAUGE:HEARTBEAT:0:65535
415 =item Processes (F<processes.rrd>)
417 DS:running:GAUGE:HEARTBEAT:0:65535
418 DS:sleeping:GAUGE:HEARTBEAT:0:65535
419 DS:zombies:GAUGE:HEARTBEAT:0:65535
420 DS:stopped:GAUGE:HEARTBEAT:0:65535
421 DS:paging:GAUGE:HEARTBEAT:0:65535
422 DS:blocked:GAUGE:HEARTBEAT:0:65535
424 =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>)
426 DS:value:GAUGE:HEARTBEAT:U:U
428 =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>)
430 DS:value:GAUGE:HEARTBEAT:U:U
432 =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>)
434 DS:voltage:GAUGE:HEARTBEAT:U:U
436 =item Serial port traffic (F<serial-I<E<lt>numE<gt>>.rrd>)
438 DS:incoming:COUNTER:HEARTBEAT:0:U
439 DS:outgoing:COUNTER:HEARTBEAT:0:U
441 =item Swap usage (F<swap.rrd>)
443 DS:used:GAUGE:HEARTBEAT:0:1099511627776
444 DS:free:GAUGE:HEARTBEAT:0:1099511627776
445 DS:cached:GAUGE:HEARTBEAT:0:1099511627776
446 DS:resv:GAUGE:HEARTBEAT:0:1099511627776
448 =item Tape drive usage (F<tape-I<E<lt>nameE<gt>>.rrd>)
450 DS:rcount:COUNTER:HEARTBEAT:0:
451 DS:rmerged:COUNTER:HEARTBEAT:0:U
452 DS:rbytes:COUNTER:HEARTBEAT:0:U
453 DS:rtime:COUNTER:HEARTBEAT:0:U
454 DS:wcount:COUNTER:HEARTBEAT:0:U
455 DS:wmerged:COUNTER:HEARTBEAT:0:U
456 DS:wbytes:COUNTER:HEARTBEAT:0:U
457 DS:wtime:COUNTER:HEARTBEAT:0:U
459 =item Network traffic (F<traffic-I<E<lt>interfaceE<gt>>.rrd>)
461 DS:incoming:COUNTER:HEARTBEAT:0:U
462 DS:outgoing:COUNTER:HEARTBEAT:0:U
464 =item Interface packets (F<if_packets-I<E<lt>interfaceE<gt>>.rrd>)
466 DS:rx:COUNTER:HEARTBEAT:0:U
467 DS:tx:COUNTER:HEARTBEAT:0:U
469 =item Interface errors (F<if_errors-I<E<lt>interfaceE<gt>>.rrd>)
471 DS:rx:COUNTER:HEARTBEAT:0:U
472 DS:tx:COUNTER:HEARTBEAT:0:U
474 =item Users (F<users.rrd>)
476 DS:users:GAUGE:HEARTBEAT:0:65535
478 =item VServer load (F<vserver-I<E<lt>xidE<gt>>/load.rrd>)
480 DS:shortterm:GAUGE:HEARTBEAT:0:100
481 DS:midterm:GAUGE:HEARTBEAT:0:100
482 DS:longterm:GAUGE:HEARTBEAT:0:100
484 =item VServer threads (F<vserver-I<E<lt>xidE<gt>>/threads.rrd>)
486 DS:total:GAUGE:HEARTBEAT:0:65535
487 DS:running:GAUGE:HEARTBEAT:0:65535
488 DS:uninterruptible:GAUGE:HEARTBEAT:0:65535
489 DS:onhold:GAUGE:HEARTBEAT:0:65535
491 =item VServer network traffic (F<vserver-I<E<lt>xidE<gt>>/traffic-I<E<lt>nameE<gt>>.rrd>)
493 DS:incoming:COUNTER:HEARTBEAT:0:9223372036854775807
494 DS:outgoing:COUNTER:HEARTBEAT:0:9223372036854775807
495 DS:failed:COUNTER:HEARTBEAT:0:9223372036854775807
497 =item VServer processes (F<vserver-I<E<lt>xidE<gt>>/vs_processes.rrd>)
499 DS:total:GAUGE:HEARTBEAT:0:65535
501 =item VServer memory usage (F<vserver-I<E<lt>xidE<gt>>/vs_memory.rrd>)
503 DS:vm:GAUGE:HEARTBEAT:0:9223372036854775807
504 DS:vml:GAUGE:HEARTBEAT:0:9223372036854775807
505 DS:rss:GAUGE:HEARTBEAT:0:9223372036854775807
506 DS:anon:GAUGE:HEARTBEAT:0:9223372036854775807
508 =item Wireless link quality (F<wireless-I<E<lt>interfaceE<gt>>.rrd>)
510 DS:quality:GAUGE:HEARTBEAT:0:U
511 DS:power:GAUGE:HEARTBEAT:U:0
512 DS:noise:GAUGE:HEARTBEAT:U:0
518 L<collectd.conf(5)>, L<rrdtool(1)>, L<sensors(1)>, L<hddtemp(8)>,
523 Florian Forster E<lt>octo@verplant.orgE<gt>