collectd: The new `FQDNLookup' option controls whether or not the FQDN should be...
[collectd.git] / src / collectd.conf.pod
1 =head1 NAME
2
3 collectd.conf - Configuration for the system statistics collection daemon B<collectd>
4
5 =head1 SYNOPSIS
6
7   BaseDir "/path/to/data/"
8   PIDFile "/path/to/pidfile/collectd.pid"
9   Server  "123.123.123.123" 12345
10
11   LoadPlugin cpu
12   LoadPlugin load
13   LoadPlugin ping
14
15   <Plugin ping>
16     Host "example.org"
17     Host "provider.net"
18   </Plugin>
19
20 =head1 DESCRIPTION
21
22 This config file controls how the system statistics collection daemon
23 B<collectd> behaves. The most significant option is B<LoadPlugin>, which
24 controls which plugins to load. These plugins ultimately define collectd's
25 behavior.
26
27 The syntax of this config file is similar to the config file of the famous
28 B<Apache Webserver>. Each line contains either a key-value-pair or a
29 section-start or -end. Empty lines and everything after the hash-symbol `#' is
30 ignored. Values are either string, enclosed in double-quotes,
31 (floating-point-)numbers or a boolean expression, i.E<nbsp>e. either B<true> or
32 B<false>. String containing of only alphanumeric characters and underscores do
33 not need to be quoted.
34
35 =head1 GLOBAL OPTIONS
36
37 =over 4
38
39 =item B<BaseDir> I<Directory>
40
41 Sets the base directory. This is the directory beneath all RRD-files are
42 created. Possibly more subdirectories are created. This is also the working
43 directory for the daemon.
44
45 =item B<LoadPlugin> I<Plugin>
46
47 Loads the plugin I<Plugin>. There must be at least one such line or B<collectd>
48 will be mostly useless.
49
50 =item B<Include> I<File>
51
52 Includes the file I<File> as if it was copy and pasted here. To prevent loops
53 and shooting yourself in the foot in interesting ways the nesting is limited to
54 a depth of 8E<nbsp>levels, which should be sufficient for most uses.
55
56 It is no problem to have a block like C<E<lt>Plugin fooE<gt>> in more than one
57 file, but you cannot include files from within blocks.
58
59 =item B<PIDFile> I<File>
60
61 Sets where to write the PID file to. This file is overwritten when it exists
62 and deleted when the program is stopped. Some init-scripts might override this
63 setting using the B<-P> command-line option.
64
65 =item B<PluginDir> I<Directory>
66
67 Path to the plugins (shared objects) of collectd.
68
69 =item B<TypesDB> I<File>
70
71 Set the file that contains the data-set descriptions.
72
73 =item B<Interval> I<Seconds>
74
75 Configures the interval in which to query the read plugins. Obviously smaller
76 values lead to a higher system load produces by collectd, while higher values
77 lead to more coarse statistics.
78
79 =item B<ReadThreads> I<Num>
80
81 Number of threads to start for reading plugins. The default value if B<5>, but
82 you may want to increase this if you have more than five plugins that take a
83 long time to read. Mostly those are plugin that do network-IO. Setting this to
84 a value higher than the number of plugins you've loaded is totally useless.
85
86 =item B<Hostname> I<Name>
87
88 Sets the hostname that identifies a host. If you omit this setting, the
89 hostname will be determinded using the L<gethostname(2)> system call.
90
91 =item B<FQDNLookup> B<true|false>
92
93 If B<Hostname> is determined automatically this setting controls whether or not
94 the daemon should try to figure out the "full qualified domain name", FQDN.
95 This is done using a lookup of the name returned by C<gethostname>.
96
97 Using this feature (i.E<nbsp>e. setting this option to B<true>) is recommended.
98 However, to preserve backwards compatibility the default is set to B<false>.
99 The sample config file that is installed with C<makeE<nbsp>install> includes a
100 line with sets this option, though, so that default installations will have
101 this setting enabled.
102
103 =back
104
105 =head1 PLUGIN OPTIONS
106
107 Some plugins may register own options. These options must be enclosed in a
108 C<Plugin>-Section. Which options exist depends on the plugin used. Some plugins
109 require external configuration, too. The C<apache plugin>, for example,
110 required C<mod_status> to be configured in the webserver you're going to
111 collect data from. These plugins are listed below as well, even if they don't
112 require any configuration within collectd's configfile.
113
114 A list of all plugins and a short summary for each plugin can be found in the
115 F<README> file shipped with the sourcecode and hopefully binary packets as
116 well.
117
118 =head2 Plugin C<apache>
119
120 To configure the C<apache>-plugin you first need to configure the Apache
121 webserver correctly. The Apache-plugin C<mod_status> needs to be loaded and
122 working and the C<ExtendedStatus> directive needs to be B<enabled>. You can use
123 the following snipped to base your Apache config upon:
124
125   ExtendedStatus on
126   <IfModule mod_status.c>
127     <Location /mod_status>
128       SetHandler server-status
129     </Location>
130   </IfModule>
131
132 Since its C<mod_status> module is very similar to Apache's, B<lighttpd> is
133 also supported. It introduces a new field, called C<BusyServers>, to count the
134 number of currently connected clients. This field is also supported.
135
136 The following options are accepted by the C<apache>-plugin:
137
138 =over 4
139
140 =item B<URL> I<http://host/mod_status?auto>
141
142 Sets the URL of the C<mod_status> output. This needs to be the output generated
143 by C<ExtendedStatus on> and it needs to be the machine readable output
144 generated by appending the C<?auto> argument.
145
146 =item B<User> I<Username>
147
148 Optional user name needed for authentication.
149
150 =item B<Password> I<Password>
151
152 Optional password needed for authentication.
153
154 =item B<CACert> I<File>
155
156 File that holds one or more SSL certificates. If you want to use HTTPS you will
157 possibly need this option. What CA certificates come bundled with C<libcurl>
158 and are checked by default depends on the distribution you use.
159
160 =back
161
162 =head2 Plugin C<apcups>
163
164 =over 4
165
166 =item B<Host> I<Hostname>
167
168 Hostname of the host running B<apcupsd>. Defaults to B<localhost>. Please note
169 that IPv6 support has been disabled unless someone can confirm or decline that
170 B<apcupsd> can handle it.
171
172 =item B<Port> I<Port>
173
174 TCP-Port to connect to. Defaults to B<3551>.
175
176 =back
177
178 =head2 Plugin C<cpufreq>
179
180 This plugin doesn't have any options. It reads
181 F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for the first CPU
182 installed) to get the current CPU frequency. If this file does not exist make
183 sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a similar tool is
184 installed and an "cpu governor" (that's a kernel module) is loaded.
185
186 =head2 Plugin C<csv>
187
188 =over 4
189
190 =item B<DataDir> I<Directory>
191
192 Set the directory to store CSV-files under. Per default CSV-files are generated
193 beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
194
195 =back
196
197 =head2 Plugin C<df>
198
199 =over 4
200
201 =item B<Device> I<Device>
202
203 Select partitions based on the devicename.
204
205 =item B<MountPoint> I<Directory>
206
207 Select partitions based on the mountpoint.
208
209 =item B<FSType> I<FSType>
210
211 Select partitions based on the filesystem type.
212
213 =item B<IgnoreSelected> I<true>|I<false>
214
215 Invert the selection: If set to true, all partitions B<except> the ones that
216 match any one of the criteria are collected. By default only selected
217 partitions are collected if a selection is made. If no selection is configured
218 at all, B<all> partitions are selected.
219
220 =back
221
222 =head2 Plugin C<dns>
223
224 =over 4
225
226 =item B<Interface> I<Interface>
227
228 The dns plugin uses B<libpcap> to capture dns traffic and analyses it. This
229 option sets the interface that should be used. If this option is not set, or
230 set to "any", the plugin will try to get packets from B<all> interfaces. This
231 may not work on certain platforms, such as MacE<nbsp>OSE<nbsp>X.
232
233 =item B<IgnoreSource> I<IP-address>
234
235 Ignore packets that originate from this address.
236
237 =back
238
239 =head2 Plugin C<email>
240
241 =over 4
242
243 =item B<SocketFile> I<Path>
244
245 Sets the socket-file which is to be created.
246
247 =item B<SocketGroup> I<Group>
248
249 If running as root change the group of the UNIX-socket after it has been 
250 created. Defaults to B<collectd>.
251
252 =item B<SocketPerms> I<Permissions>
253
254 Change the file permissions of the UNIX-socket after it has been created. The
255 permissions must be given as a numeric, octal value as you would pass to
256 L<chmod(1)>. Defaults to B<0770>.
257
258 =item B<MaxConns> I<Number>
259
260 Sets the maximum number of connections that can be handled in parallel. Since
261 this many threads will be started immediately setting this to a very high
262 value will waste valuable resources. Defaults to B<5> and will be forced to be
263 at most B<16384> to prevent typos and dumb mistakes.
264
265 =back
266
267 =head2 Plugin C<exec>
268
269 Please make sure to read L<collectd-exec(5)> before using this plugin. It
270 contains valuable information on when the executable is executed and the
271 output that is expected from it.
272
273 =over 4
274
275 =item B<Exec> I<User>[:[I<Group>]] I<Executable>
276
277 Execute the executable I<Executable> as user I<User>. If the user name is
278 followed by a colon and a group name, the effective group is set to that group.
279 The real group and saved-set group will be set to the default group of that
280 user. If no group is given the effective group ID will be the same as the real
281 group ID.
282
283 Please note that in order to change the user and/or group the daemon needs
284 superuser privileges. If the daemon is run as an unprivileged user you must
285 specify the same user/group here. If the daemon is run with superuser
286 privileges, you must supply a non-root user here.
287
288 =back
289
290 =head2 Plugin C<hddtemp>
291
292 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
293 port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
294 default values, see below. C<hddtemp> has to be running to work correctly. If
295 C<hddtemp> is not running timeouts may appear which may interfere with other
296 statistics..
297
298 The B<hddtemp> homepage can be found at
299 L<http://www.guzu.net/linux/hddtemp.php>.
300
301 =over 4
302
303 =item B<Host> I<Hostname>
304
305 Hostname to connect to. Defaults to B<127.0.0.1>.
306
307 =item B<Port> I<Port>
308
309 TCP-Port to connect to. Defaults to B<7634>.
310
311 =back
312
313 =head2 Plugin C<interface>
314
315 =over 4
316
317 =item B<Interface> I<Interface>
318
319 Select this interface. By default these interfaces will then be collected. For
320 a more detailed description see B<IgnoreSelected> below.
321
322 =item B<IgnoreSelected> I<true>|I<false>
323
324 If no configuration if given, the B<traffic>-plugin will collect data from
325 all interfaces. This may not be practical, especially for loopback- and
326 similar interfaces. Thus, you can use the B<Interface>-option to pick the
327 interfaces you're interested in. Sometimes, however, it's easier/preferred
328 to collect all interfaces I<except> a few ones. This option enables you to
329 do that: By setting B<IgnoreSelected> to I<true> the effect of
330 B<Interface> is inversed: All selected interfaces are ignored and all
331 other interfaces are collected.
332
333 =back
334
335 =head2 Plugin C<iptables>
336
337 =over 4
338
339 =item B<Chain> I<Table> I<Chain> [I<Comment|Number> [I<Name>]]
340
341 Select the rules to count. If only I<Table> and I<Chain> are given, this plugin
342 will collect the counters of all rules which have a comment-match. The comment
343 is then used as type-instance.
344
345 If I<Comment> or I<Number> is given, only the rule with the matching comment or
346 the I<n>th rule will be collected. Again, the comment (or the number) will be
347 used as the type-instance.
348
349 If I<Name> is supplied, it will be used as the type-instance instead of the
350 comment or the number.
351
352 =back
353
354 =head2 Plugin C<irq>
355
356 =over 4
357
358 =item B<Irq> I<Irq>
359
360 Select this irq. By default these irqs will then be collected. For a more
361 detailed description see B<IgnoreSelected> below.
362
363 =item B<IgnoreSelected> I<true>|I<false>
364
365 If no configuration if given, the B<irq>-plugin will collect data from all
366 irqs. This may not be practical, especially if no interrupts happen. Thus, you
367 can use the B<Irq>-option to pick the interrupt you're interested in.
368 Sometimes, however, it's easier/preferred to collect all interrupts I<except> a
369 few ones. This option enables you to do that: By setting B<IgnoreSelected> to
370 I<true> the effect of B<Irq> is inversed: All selected interrupts are ignored
371 and all other interrupts are collected.
372
373 =back
374
375 =head2 Plugin C<logfile>
376
377 =over 4
378
379 =item B<LogLevel> B<debug|info|notice|warning|err>
380
381 Sets the log-level. If, for example, set to B<notice>, then all events with
382 severity B<notice>, B<warning>, or B<err> will be written to the logfile.
383
384 =item B<File> I<File>
385
386 Sets the file to write log messages to. The special strings B<stdout> and
387 B<stderr> can be used to write to the standard output and standard error
388 channels, respectively. This, of course, only makes much sense when collectd is
389 running in foreground- or non-daemon-mode.
390
391 =item B<Timestamp> B<true>|B<false>
392
393 Prefix all lines printed by the current time. Defaults to B<true>.
394
395 =back
396
397 =head2 Plugin C<mbmon>
398
399 The C<mbmon plugin> uses mbmon to retrieve temperature, voltage, etc.
400
401 Be default collectd connects to B<localhost> (127.0.0.1), port B<411/tcp>.  The
402 B<Host> and B<Port> options can be used to change these values, see below.
403 C<mbmon> has to be running to work correctly. If C<mbmon> is not running
404 timeouts may appear which may interfere with other statistics..
405
406 C<mbmon> must be run with the -r option ("print TAG and Value format");
407 Debian's F</etc/init.d/mbmon> script already does this, other people
408 will need to ensure that this is the case.
409
410 =over 4
411
412 =item B<Host> I<Hostname>
413
414 Hostname to connect to. Defaults to B<127.0.0.1>.
415
416 =item B<Port> I<Port>
417
418 TCP-Port to connect to. Defaults to B<411>.
419
420 =back
421
422 =head2 Plugin C<memcached>
423
424 The C<memcached plugin> connects to a memcached server and queries statistics
425 about cache utilization, memory and bandwidth used.
426 L<http://www.danga.com/memcached/>
427
428 =over 4
429
430 =item B<Host> I<Hostname>
431
432 Hostname to connect to. Defaults to B<127.0.0.1>.
433
434 =item B<Port> I<Port>
435
436 TCP-Port to connect to. Defaults to B<11211>.
437
438 =back
439
440 =head2 Plugin C<mysql>
441
442 The C<mysql plugin> requires B<mysqlclient> to be installed. It connects to the
443 database when started and keeps the connection up as long as possible. When the
444 connection is interrupted for whatever reason it will try to re-connect. The
445 plugin will complaint loudly in case anything goes wrong.
446
447 This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
448 C<Com_*> and C<Handler_*> which correspond to F<mysql_octets.rrd>,
449 F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
450 C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
451 in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
452 I<5.2.4. Server Status Variables> for an explanation of these values.
453
454 Use the following options to configure the plugin:
455
456 =over 4
457
458 =item B<Host> I<Hostname>
459
460 Hostname of the database server. Defaults to B<localhost>.
461
462 =item B<User> I<Username>
463
464 Username to use when connecting to the database.
465
466 =item B<Password> I<Password>
467
468 Password needed to log into the database.
469
470 =item B<Database> I<Database>
471
472 Select this database. Defaults to I<no database> which is a perfectly reasonable
473 option for what this plugin does.
474
475 =back
476
477 =head2 Plugin C<netlink>
478
479 The C<netlink> plugin uses a netlink socket to query the Linux kernel about
480 statistics of various interface and routing aspects.
481
482 =over 4
483
484 =item B<Interface> I<Interface>
485
486 =item B<VerboseInterface> I<Interface>
487
488 Instruct the plugin to collect interface statistics. This is basically the same
489 as the statistics provided by the C<interface> plugin (see above) but
490 potentially much more detailed.
491
492 When configuring with B<Interface> only the basic statistics will be collected,
493 namely octets, packets, and errors. These statistics are collected by
494 the C<interface> plugin, too, so using both at the same time is no benefit.
495
496 When configured with B<VerboseInterface> all counters B<except> the basic ones,
497 so that no data needs to be collected twice if you use the C<interface> plugin.
498 This includes dropped packets, received multicast packets, collisions and a
499 whole zoo of differentiated RX and TX errors. You can try the following command
500 to get an idea of what awaits you:
501
502   ip -s -s link list
503
504 If I<Interface> is B<All>, all interfaces will be selected.
505
506 =item B<QDisc> I<Interface> [I<QDisc>]
507
508 =item B<Class> I<Interface> [I<Class>]
509
510 =item B<Filter> I<Interface> [I<Filter>]
511
512 Collect the octets and packets that pass a certain qdisc, class or filter.
513
514 QDiscs and classes are identified by their type and handle (or classid).
515 Filters don't necessarily have a handle, therefore the parent's handle is used.
516 The notation used in collectd differs from that used in tc(1) in that it
517 doesn't skip the major or minor number if it's zero and doesn't print special
518 ids by their name.  So, for example, a qdisc may be identified by
519 C<pfifo_fast-1:0> even though the minor number of B<all> qdiscs is zero and
520 thus not displayed by tc(1).
521
522 If B<QDisc>, B<Class>, or B<Filter> is given without the second argument,
523 i.E<nbsp>.e. without an identifier, all qdiscs, classes, or filters that are
524 associated with that interface will be collected.
525
526 Since a filter itself doesn't necessarily have a handle, the parent's handle is
527 used. This may lead to problems when more than one filter is attached to a
528 qdisc or class. This isn't nice, but we don't know how this could be done any
529 better. If you have a idea, please don't hesitate to tell us.
530
531 As with the B<Interface> option you can specify B<All> as the interface,
532 meaning all interfaces.
533
534 Here are some examples to help you understand the above text more easily:
535
536   <Plugin netlink>
537     VerboseInterface "All"
538     QDisc "eth0" "pfifo_fast-1:0"
539     QDisc "ppp0"
540     Class "ppp0" "htb-1:10"
541     Filter "ppp0" "u32-1:0"
542   </Plugin>
543
544 =item B<IgnoreSelected>
545
546 The behaviour is the same as with all other similar plugins: If nothing is
547 selected at all, everything is collected. If some things are selected using the
548 options described above, only these statistics are collected. If you set
549 B<IgnoreSelected> to B<true>, this behavior is inversed, i.E<nbsp>e. the
550 specified statistics will not be collected.
551
552 =back
553
554 =head2 Plugin C<network>
555
556 =over 4
557
558 =item B<Listen> I<Host> [I<Port>]
559
560 =item B<Server> I<Host> [I<Port>]
561
562 The B<Server> statement sets the server to send datagrams B<to>.  The statement
563 may occur multiple times to send each datagram to multiple destinations.
564
565 The B<Listen> statement sets the interfaces to bind to. When multiple
566 statements are found the daemon will bind to multiple interfaces.
567
568 The argument I<Host> may be a hostname, an IPv4 address or an IPv6 address. If
569 the argument is a multicast address the daemon will join that multicast group.
570
571 If no B<Listen> statement is found the server tries join both, the default IPv6
572 multicast group and the default IPv4 multicast group. If no B<Server> statement
573 is found the client will try to send data to the IPv6 multicast group first. If
574 that fails the client will try the IPv4 multicast group.
575
576 The default IPv6 multicast group is C<ff18::efc0:4a42>. The default IPv4
577 multicast group is C<239.192.74.66>.
578
579 The optional I<Port> argument sets the port to use. It can either be given
580 using a numeric port number or a service name. If the argument is omitted the
581 default port B<25826> is assumed.
582
583 =item B<TimeToLive> I<1-255>
584
585 Set the time-to-live of sent packets. This applies to all, unicast and
586 multicast, and IPv4 and IPv6 packets. The default is to not change this value.
587 That means that multicast packets will be sent with a TTL of C<1> (one) on most
588 operating systems.
589
590 =item B<Forward> I<true|false>
591
592 If set to I<true>, write packets that were received via the network plugin to
593 the sending sockets. This should only be activated when the B<Listen>- and
594 B<Server>-statements differ. Otherwise packets may be send multiple times to
595 the same multicast group. While this results in more network traffic than
596 necessary it's not a huge problem since the plugin has a duplicate detection,
597 so the values will not loop.
598
599 =item B<CacheFlush> I<Seconds>
600
601 For each host/plugin/type combination the C<network plugin> caches the time of
602 the last value being sent or received. Every I<Seconds> seconds the plugin
603 searches and removes all entries that are older than I<Seconds> seconds, thus
604 freeing the unused memory again. Since this process is somewhat expensive and
605 normally doesn't do much, this value should not be too small. The default is
606 1800 seconds, but setting this to 86400 seconds (one day) will not do much harm
607 either.
608
609 =back
610
611 =head2 Plugin C<nginx>
612
613 This plugin collects the number of connections and requests handled by the
614 C<nginx daemon> (speak: engineE<nbsp>X), a HTTP and mail server/proxy. It
615 queries the page provided by the C<ngx_http_stub_status_module> module, which
616 isn't compiled by default. Please refer to
617 L<http://wiki.codemongers.com/NginxStubStatusModule> for more information on
618 how to compile and configure nginx and this module.
619
620 The following options are accepted by the C<nginx plugin>:
621
622 =over 4
623
624 =item B<URL> I<http://host/nginx_status>
625
626 Sets the URL of the C<ngx_http_stub_status_module> output.
627
628 =item B<User> I<Username>
629
630 Optional user name needed for authentication.
631
632 =item B<Password> I<Password>
633
634 Optional password needed for authentication.
635
636 =item B<CACert> I<File>
637
638 File that holds one or more SSL certificates. If you want to use HTTPS you will
639 possibly need this option. What CA certificates come bundled with C<libcurl>
640 and are checked by default depends on the distribution you use.
641
642 =back
643
644 =head2 Plugin C<ntpd>
645
646 =over 4
647
648 =item B<Host> I<Hostname>
649
650 Hostname of the host running B<ntpd>. Defaults to B<localhost>.
651
652 =item B<Port> I<Port>
653
654 UDP-Port to connect to. Defaults to B<123>.
655
656 =back
657
658 =head2 Plugin C<nut>
659
660 =over 4
661
662 =item B<UPS> I<upsname>B<@>I<hostname>[B<:>I<port>]
663
664 Add a UPS to collect data from. The format is identical to the one accepted by
665 L<upsc(8)>.
666
667 =back
668
669 =head2 Plugin C<perl>
670
671 This plugin embeds a Perl-interpreter into collectd and provides an interface
672 to collectd's plugin system. See L<collectd-perl(5)> for its documentation.
673
674 =head2 Plugin C<ping>
675
676 =over 4
677
678 =item B<Host> I<IP-address>
679
680 Host to ping periodically. This option may be repeated several times to ping
681 multiple hosts.
682
683 =item B<TTL> I<0-255>
684
685 Sets the Time-To-Live of generated ICMP packets.
686
687 =back
688
689 =head2 Plugin C<processes>
690
691 =over 4
692
693 =item B<Process> I<Name>
694
695 Select more detailed statistics of processes matching this name. The statistics
696 collected for these selected processes are size of the resident segment size
697 (RSS), user- and system-time used, number of processes and number of threads,
698 and minor and major pagefaults.
699
700 =back
701
702 =head2 Plugin C<rrdtool>
703
704 You can use the settings B<StepSize>, B<HeartBeat>, B<RRARows>, and B<XFF> to
705 fine-tune your RRD-files. Please read L<rrdcreate(1)> if you encounter problems
706 using these settings. If you don't want to dive into the depths of RRDTool, you
707 can safely ignore these settings.
708
709 =over 4
710
711 =item B<DataDir> I<Directory>
712
713 Set the directory to store RRD-files under. Per default RRD-files are generated
714 beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
715
716 =item B<StepSize> I<Seconds>
717
718 B<Force> the stepsize of newly created RRD-files. Ideally (and per default)
719 this setting is unset and the stepsize is set to the interval in which the data
720 is collected. Do not use this option unless you absolutely have to for some
721 reason. Setting this option may cause problems with the C<snmp plugin>, the
722 C<exec plugin> or when the daemon is set up to receive data from other hosts.
723
724 =item B<HeartBeat> I<Seconds>
725
726 B<Force> the heartbeat of newly created RRD-files. This setting should be unset
727 in which case the heartbeat is set to twice the B<StepSize> which should equal
728 the interval in which data is collected. Do not set this option unless you have
729 a very good reason to do so.
730
731 =item B<RRARows> I<NumRows>
732
733 The C<rrdtool plugin> calculates the number of PDPs per CDP based on the
734 B<StepSize>, this setting and a timespan. This plugin creates RRD-files with
735 three times five RRAs, i. e. five RRAs with the CFs B<MIN>, B<AVERAGE>, and
736 B<MAX>. The five RRAs are optimized for graphs covering one hour, one day, one
737 week, one month, and one year.
738
739 So for each timespan, it calculates how many PDPs need to be consolidated into
740 one CDP by calculating:
741   number of PDPs = timespan / (stepsize * rrarows)
742
743 Bottom line is, set this no smaller than the width of you graphs in pixels. The
744 default is 1200.
745
746 =item B<RRATimespan> I<Seconds>
747
748 Adds an RRA-timespan, given in seconds. Use this option multiple times to have
749 more then one RRA. If this option is never used, the built-in default of (3600,
750 86400, 604800, 2678400, 31622400) is used.
751
752 For more information on how RRA-sizes are calculated see B<RRARows> above.
753
754 =item B<XFF> I<Factor>
755
756 Set the "XFiles Factor". The default is 0.1. If unsure, don't set this option.
757
758 =item B<CacheFlush> I<Seconds>
759
760 When the C<rrdtool plugin> uses a cache (by setting B<CacheTimeout>, see below)
761 it writes all values for a certain RRD-file if the oldest value is older than
762 (or equal to) the number of seconds specified. If some RRD-file is not updated
763 anymore for some reason (the computer was shut down, the network is broken,
764 etc.) some values may still be in the cache. If B<CacheFlush> is set, then the
765 entire cache is searched for entries older than B<CacheTimeout> seconds and
766 written to disk every I<Seconds> seconds. Since this is kind of expensive and
767 does nothing under normal circumstances, this value should not be too small.
768 900 seconds might be a good value, though setting this to 7200 seconds doesn't
769 normally do much harm either.
770
771 =item B<CacheTimeout> I<Seconds>
772
773 If this option is set to a value greater than zero, the C<rrdtool plugin> will
774 save values in a cache, as described above. Writing multiple values at once
775 reduces IO-operations and thus lessens the load produced by updating the files.
776 The trade off is that the graphs kind of "drag behind" and that more memory is
777 used.
778
779 =back
780
781 =head2 Plugin C<sensors>
782
783 The C<sensors plugin> uses B<lm_sensors> to retrieve sensor-values. This means
784 that all the needed modules have to be loaded and lm_sensors has to be
785 configured (most likely by editing F</etc/sensors.conf>. Read
786 L<sensors.conf(5)> for details.
787
788 The B<lm_sensors> homepage can be found at
789 L<http://secure.netroedge.com/~lm78/>.
790
791 =over 4
792
793 =item B<Sensor> I<chip-bus-address/type-feature>
794
795 Selects the name of the sensor which you want to collect or ignore, depending
796 on the B<IgnoreSelected> below. For example, the option "B<Sensor>
797 I<it8712-isa-0290/voltage-in1>" will cause collectd to gather data for the
798 voltage sensor I<in1> of the I<it8712> on the isa bus at the address 0290.
799
800 =item B<IgnoreSelected> I<true>|I<false>
801
802 If no configuration if given, the B<sensors>-plugin will collect data from all
803 sensors. This may not be practical, especially for uninteresting sensors.
804 Thus, you can use the B<Sensor>-option to pick the sensors you're interested
805 in. Sometimes, however, it's easier/preferred to collect all sensors I<except> a
806 few ones. This option enables you to do that: By setting B<IgnoreSelected> to
807 I<true> the effect of B<Sensor> is inversed: All selected sensors are ignored
808 and all other sensors are collected.
809
810 =back
811
812 =head2 Plugin C<snmp>
813
814 Since the configuration of the C<snmp plugin> is a little more complicated than
815 other plugins, its documentation has been moved to an own manpage,
816 L<collectd-snmp(5)>. Please see there for details.
817
818 =head2 Plugin C<syslog>
819
820 =over 4
821
822 =item B<LogLevel> B<debug|info|notice|warning|err>
823
824 Sets the log-level. If, for example, set to B<notice>, then all events with
825 severity B<notice>, B<warning>, or B<err> will be submitted to the
826 syslog-daemon.
827
828 =back
829
830 =head2 Plugin C<tcpconns>
831
832 The C<tcpconns plugin> counts the number of currently established TCP
833 connections based on the local port and/or the remote port. Since there may be
834 a lot of connections the default if to count all connections with a local port,
835 for which a listening socket is opened. You can use the following options to
836 fine-tune the ports you are interested in:
837
838 =over 4
839
840 =item B<ListeningPorts> I<true>|I<false>
841
842 If this option is set to I<true>, statistics for all local ports for which a
843 listening socket exists are collected. The default depends on B<LocalPort> and
844 B<RemotePort> (see below): If no port at all is specifically selected, the
845 default is to collect listening ports. If specific ports (no matter if local or
846 remote ports) are selected, this option defaults to I<false>, i.E<nbsp>e. only
847 the selected ports will be collected unless this option is set to I<true>
848 specifically.
849
850 =item B<LocalPort> I<Port>
851
852 Count the connections to a specific local port. This can be used to see how
853 many connections are handled by a specific daemon, e.E<nbsp>g. the mailserver.
854 You have to specify the port in numeric form, so for the mailserver example
855 you'd need to set B<25>.
856
857 =item B<RemotePort> I<Port>
858
859 Count the connections to a specific remote port. This is useful to see how
860 much a remote service is used. This is most useful if you want to know how many
861 connections a local service has opened to remote services, e.E<nbsp>g. how many
862 connections a mail server or news server has to other mail or news servers, or
863 how many connections a web proxy holds to web servers. You have to give the
864 port in numeric form.
865
866 =back
867
868 =head2 Plugin C<unixsock>
869
870 =over 4
871
872 =item B<SocketFile> I<Path>
873
874 Sets the socket-file which is to be created.
875
876 =item B<SocketGroup> I<Group>
877
878 If running as root change the group of the UNIX-socket after it has been 
879 created. Defaults to B<collectd>.
880
881 =item B<SocketPerms> I<Permissions>
882
883 Change the file permissions of the UNIX-socket after it has been created. The
884 permissions must be given as a numeric, octal value as you would pass to
885 L<chmod(1)>. Defaults to B<0770>.
886
887 =back
888
889 =head2 Plugin C<vserver>
890
891 This plugin doesn't have any options. B<VServer> support is only available for
892 Linux. It cannot yet be found in a vanilla kernel, though. To make use of this
893 plugin you need a kernel that has B<VServer> support built in, i.E<nbsp>e. you
894 need to apply the patches and compile your own kernel, which will then provide
895 the F</proc/virtual> filesystem that is required by this plugin.
896
897 The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
898
899 =head1 SEE ALSO
900
901 L<collectd(1)>,
902 L<collectd-exec(5)>,
903 L<collectd-perl(5)>,
904 L<collectd-unixsock(5)>,
905 L<hddtemp(8)>,
906 L<kstat(3KSTAT)>,
907 L<mbmon(1)>,
908 L<rrdtool(1)>,
909 L<sensors(1)>
910
911 =head1 AUTHOR
912
913 Florian Forster E<lt>octo@verplant.orgE<gt>
914
915 =cut