Bumped version to 3.11.6; Updated ChangeLog.
[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   Mode    Client
8   DataDir /path/to/data/
9   PIDFile /path/to/pidfile/collectd.pid
10   LogFile /path/to/logfile/collectd.log
11   Server  123.123.123.123 12345
12
13   LoadPlugin cpu
14   LoadPlugin load
15   LoadPlugin ping
16
17   <Plugin ping>
18     Host example.org
19     Host provider.net
20   </Plugin>
21
22 =head1 DESCRIPTION
23
24 This config file controls how the system statistics collection daemon
25 B<collectd> behaves. The most significant options are B<Mode>, which controlls
26 if the daemon will act as client, server or will be independent in local mode,
27 and B<LoadPlugin> which controls which plugins to load.
28
29 The syntax of this config file is similar to the config file of the famos
30 B<Apache Webserver>. Each line containes either a key-value-pair or a
31 section-start or -end. Empty lines and everything after the hash-symbol `#' is
32 ignored.
33
34 Please note that B<there is a bug> in the library used by collectd to read the
35 configfile, that will lead to all lines with trailing whitespaces to be
36 ignored. This problem has been solved in collectdE<nbsp>4.0 and later.
37
38 =head1 GLOBAL OPTIONS
39
40 =over 4
41
42 =item B<Mode> (B<Local>|B<Client>|B<Server>|B<Log>)
43
44 Sets the operating mode. See the section B<MODES> in L<collectd(1)> for a
45 description. This option determines which other options are allowed. Defaults
46 to B<Local>.
47
48 =item B<LoadPlugin> I<Plugin>
49
50 Loads the plugin I<Plugin>. There must be at least one such line or B<collectd>
51 will be mostly useless. The names of the plugins are listed in L<collectd(1)>.
52
53 =item B<PIDFile> I<File>
54
55 Sets where to write the PID file to. This file is overwritten when it exists
56 and deleted when the program ist stopped. Some init-scripts might override this
57 setting using the B<-P> commandline option. Available in B<all modes>.
58
59 =item B<DataDir> I<Directory>
60
61 Sets the data directory. This is the directory beneath all RRD-files are
62 created. Possibly more subdirectories are created. This is also the working
63 directory for the daemon. Available in B<all modes>, though the B<Client> mode
64 won't write to this directory.
65
66 =item B<LogFile> I<File>
67
68 Sets the file to write debugging output to. This is only used if compiled with
69 debugging enabled. It's ignored otherwise. Available in B<all modes>.
70
71 =item B<Listen> I<Host> [I<Port>]
72
73 =item B<Server> I<Host> [I<Port>]
74
75 In B<client mode> the B<Server> statement sets the server to send datagrams to.
76 The statement may occur multiple times to send each datagram to multiple
77 destinations.
78
79 In B<server mode> the B<Listen> statement sets the interfaces to bind to. When
80 multiple statements are found the daemon will bind to multiple interfaces.
81
82 The argument I<Host> may be a hostname, an IPv4 address or an IPv6 address. If
83 the argument is a multicast address the daemon will join that multicast group.
84
85 If no B<Listen> statement is found the server tries join both, the IPv6
86 multicast group and the IPv4 multicast group. If no B<Server> statement is
87 found the client will try to send data to the IPv6 multicast group first. If
88 that failes the client will try the IPv4 multicast group.
89
90 The default IPv6 multicast group is C<ff18::efc0:4a42>. The default IPv4
91 multicast group is C<239.192.74.66>.
92
93 The optional I<Port> argument sets the port to use. It can either be given
94 using a numeric port number or a service name. If the argument is omited the
95 default port B<25826> is assumed.
96
97 =item B<TimeToLive> I<1-255>
98
99 Set the time-to-live of sent packets. This applies to all, unicast and
100 multicast, and IPv4 and IPv6 packets. The default is to not change this value.
101 That means that multicast packets will be sent with a TTL of C<1> (one) on most
102 operating systems.
103
104 =back
105
106 =head1 PLUGIN OPTIONS
107
108 Some Plugins may register own options. These options must be inclosed in a
109 C<Plugin>-Section. Which options exist depends on the plugin used:
110
111 =head2 Plugin C<apache>
112
113 To configure the C<apache>-plugin you first need to configure the Apache
114 webserver correctly. The Apache-plugin C<mod_status> needs to be loaded and
115 working and the C<ExtendedStatus> directive needs to be B<enabled>. You can use
116 the following snipped to base your Apache config upon:
117
118   ExtendedStatus on
119   <IfModule mod_status.c>
120     <Location /mod_status>
121       SetHandler server-status
122     </Location>
123   </IfModule>
124
125 The following options are accepted by the C<apache>-plugin:
126
127 =over 4
128
129 =item B<URL> I<http://host/mod_status?auto>
130
131 Sets the URL of the C<mod_status> output. This needs to be the output generated
132 by C<ExtendedStatus on> and it needs to be the machine readable output
133 generated by appending the C<?auto> argument.
134
135 =item B<User> I<Username>
136
137 Optional user name needed for authentication.
138
139 =item B<Password> I<Password>
140
141 Optional password needed for authentication.
142
143 =item B<CACert> I<File>
144
145 File that holds one or more SSL certificates. If you want to use HTTPS you will
146 possibly need this option. What CA certificates come bundeled with C<libcurl>
147 and are checked by default depends on the distribution you use.
148
149 =back
150
151 =head2 Plugin C<apcups>
152
153 =over 4
154
155 =item B<Host> I<Hostname>
156
157 Hostname of the host running B<apcupsd>. Defaults to B<localhost>. Please note
158 that IPv6 support has been disabled unless someone can confirm or decline that
159 B<apcupsd> can handle it.
160
161 =item B<Port> I<Port>
162
163 TCP-Port to connect to. Defaults to B<3551>.
164
165 =back
166
167 =head2 Plugin C<df>
168
169 =over 4
170
171 =item B<Device> I<Device>
172
173 Select partitions based on the devicename.
174
175 =item B<MountPoint> I<Directory>
176
177 Select partitions based on the mountpoint.
178
179 =item B<FSType> I<FSType>
180
181 Select partitions based on the filesystem type.
182
183 =item B<IgnoreSelected> I<true>|I<false>
184
185 Invert the selection: If set to true, all partitions B<except> the ones that
186 match any one of the criteria are collected. By default only selected
187 partitions are collected if a selection is made. If no selection is conifured
188 at all, B<all> partitions are selected.
189
190 =back
191
192 =head2 Plugin C<dns>
193
194 =over 4
195
196 =item B<Interface> I<Interface>
197
198 The dns plugin uses B<libpcap> to capture dns traffic and analyses it. This
199 option sets the interface that should be used. If this option is not set, or
200 set to "any", the plugin will try to get packets from B<all> interfaces. This
201 may not work on certain platforms, such as MacE<nbsp>OSE<nbsp>X.
202
203 =item B<IgnoreSource> I<IP-address>
204
205 Ignore packets that originate from this address.
206
207 =back
208
209 =head2 Plugin C<email>
210
211 =over 4
212
213 =item B<SocketGroup> I<Group>
214
215 If running as root change the group of the UNIX-socket after it has been 
216 created. Defaults to B<collectd>.
217
218 =item B<SocketPerms> I<Permissions>
219
220 Change the file permissions of the UNIX-socket after it has been created. The
221 permissions must be given as a numeric, octal value as you would pass to
222 L<chmod(1)>. Defaults to B<0770>.
223
224 =item B<MaxConns> I<Number>
225
226 Sets the maximum number of connections that can be handled in parallel. Since
227 this many threads will be started immediately setting this to a very high
228 value will waste valuable resources. Defaults to B<5> and will be forced to be
229 at most B<16384> to prevent typos and dumb mistakes.
230
231 =back
232
233 =head2 Plugin C<hddtemp>
234
235 =over 4
236
237 =item B<Host> I<Hostname>
238
239 Hostname to connect to. Defaults to B<127.0.0.1>.
240
241 =item B<Port> I<Port>
242
243 TCP-Port to connect to. Defaults to B<7634>.
244
245 =back
246
247 =head2 Plugin C<mbmon>
248
249 =over 4
250
251 =item B<Host> I<Hostname>
252
253 Hostname to connect to. Defaults to B<127.0.0.1>.
254
255 =item B<Port> I<Port>
256
257 TCP-Port to connect to. Defaults to B<411>.
258
259 =back
260
261 =head2 Plugin C<ntpd>
262
263 =over 4
264
265 =item B<Host> I<Hostname>
266
267 Hostname of the host running B<ntpd>. Defaults to B<localhost>.
268
269 =item B<Port> I<Port>
270
271 UDP-Port to connect to. Defaults to B<123>.
272
273 =back
274
275 =head2 Plugin C<mysql>
276
277 =over 4
278
279 =item B<Host> I<Hostname>
280
281 Hostname of the database server. Defaults to B<localhost>.
282
283 =item B<User> I<Username>
284
285 Username to use when connecting to the database.
286
287 =item B<Password> I<Password>
288
289 Password needed to log into the database.
290
291 =item B<Database> I<Database>
292
293 Select this database. Defaults to I<no database> which is a perfecly reasonable
294 option for what this plugin does.
295
296 =back
297
298 =head2 Plugin C<ping>
299
300 =over 4
301
302 =item B<Host> I<IP-address>
303
304 Host to ping periodically. This option may be repeated several times to ping
305 multiple hosts.
306
307 =item B<TTL> I<0-255>
308
309 Sets the Time-To-Live of generated ICMP packets.
310
311 =back
312
313 =head2 Plugin C<sensors>
314
315 =over 4
316
317 =item B<ExtendedSensorNaming> I<true>|I<false>
318
319 If set to I<true> this option switches on the extended sensors and RRD-files
320 naming. This option exists to preserve backwards compatibility. It is
321 recommended that you set this option to I<true>. The default is I<false> to
322 maintain compatibility only.
323
324 Sensors get names like I<chip-bus-address/type-feature> (e.g.
325 I<it8712-isa-0290/voltage-in1>) and RRD files are therefore stored in a
326 standalone directory inside the B<DataDir> directory and get names like
327 I<lm_sensors-chip-bus-address/type-feature.rrd> (e.g.
328 I<lm_sensors-it8712-isa-0290/voltage-in1.rrd>).
329
330 The B<ExtendedSensorNaming> option breaks the compatibility with previous
331 sensors and RRD files naming and the place where RRDs are stored. If you turn
332 it on, the plugin will create new RRD files in a standalone directory inside
333 the B<DataDir> directory and without previous history. You can rename ``old''
334 RRD-files to preserve already collected statistics, because the file layout
335 hasn't changed. If you have two chips of the same type, you need to use
336 B<ExtendedSensorNaming> in order to collect information from both chips.
337
338 If not set or set to I<false>, the extended naming is not active. Sensors get
339 names like I<chip-feature> (e.g. I<it8712-in1>) and RRD files are stored in the
340 main B<DataDir> directory and get names like I<sensors-chip-feature.rrd> (e.g.
341 I<sensors-it8712-in1.rrd>).  You simply continue using the plugin the old way
342 and additionally also getting data for newly added sensors in this mode.
343
344 =item B<Sensor> I<chip-feature> or B<Sensor> I<chip-bus-address/type-feature>
345
346 Both option modes select the name of the sensor which you want to collect.
347 The naming scheme is dependent on the state of the B<ExtendedSensorNaming>
348 option (see previous option). Both option modes can also deselect the
349 sensor according to the B<IgnoreSelected> option (see below).
350
351 For example the option "B<Sensor> I<it8712-in1>" will cause the collectd
352 to gather data for the voltage sensor I<in1> of the I<it8712> chip in case
353 of the B<ExtendedSensorNaming> option is set to I<false>.
354
355 And likewise the option "B<Sensor> I<it8712-isa-0290/voltage-in1>" will
356 cause the collectd to gather data for the voltage sensor I<in1> of the I<it8712>
357 on the isa bus at the address 0290 in case of the B<ExtendedSensorNaming>
358 option set to I<true>.
359
360 =item B<IgnoreSelected> I<true>|I<false>
361
362 If no configuration if given, the B<sensors>-plugin will collect data from
363 all sensors. This may not be practical, especially for uninteresting sensors.
364 Thus, you can use the B<Sensor>-option to pick the sensors you're
365 interested in. Sometimes, however, it's easier/prefered to collect all
366 sensors I<except> a few ones. This option enables you to
367 do that: By setting B<IgnoreSelected> to I<true> the effect of
368 B<Sensor> is inversed: All selected sensors are ignored and all
369 other sensors are collected.
370
371 back
372
373 =back
374
375 =head2 Plugin C<traffic>
376
377 =over 4
378
379 =item B<Interface> I<Interface>
380
381 Select this interface. By default these interfaces will then be collected. For a more detailed description see B<IgnoreSelected> below.
382
383 =item B<IgnoreSelected> I<true>|I<false>
384
385 If no configuration if given, the B<traffic>-plugin will collect data from
386 all interfaces. This may not be practical, especially for loopback- and
387 similar interfaces. Thus, you can use the B<Interface>-option to pick the
388 interfaces you're interested in. Sometimes, however, it's easier/prefered
389 to collect all interfaces I<except> a few ones. This option enables you to
390 do that: By setting B<IgnoreSelected> to I<true> the effect of
391 B<Interface> is inversed: All selected interfaces are ignored and all
392 other interfaces are collected.
393
394 =back
395
396 =head1 SEE ALSO
397
398 L<collectd(1)>
399
400 =head1 AUTHOR
401
402 Florian Forster E<lt>octo@verplant.orgE<gt>
403
404 =cut