Merge branch 'collectd-4.5' into collectd-4.6
[collectd.git] / src / collectd.pod
1 =head1 NAME
2
3 collectd - System statistics collection daemon
4
5 =head1 SYNOPSIS
6
7 collectd I<[options]>
8
9 =head1 DESCRIPTION
10
11 collectd is a daemon that receives system statistics and makes them available
12 in a number of ways. The main daemon itself doesn't have any real functionality
13 apart from loading, querying and submitting to plugins. For a description of
14 available plugins please see L</PLUGINS> below.
15
16 =head1 OPTIONS
17
18 Most of collectd's configuration is done using using a configfile. See
19 L<collectd.conf(5)> for an in-depth description of all options.
20
21 =over 4
22
23 =item B<-C> I<E<lt>config-fileE<gt>>
24
25 Specify an alternative config file. This is the place to go when you wish to
26 change B<collectd>'s behavior. The path may be relative to the current working
27 directory.
28
29 =item B<-t>
30
31 Test the configuration only. The program immediately exits after parsing the
32 config file. A return code not equal to zero indicates an error.
33
34 =item B<-T>
35
36 Test the plugin read callbacks only. The program immediately exits after invoking
37 the read callbacks once. A return code not equal to zero indicates an error.
38
39 =item B<-P> I<E<lt>pid-fileE<gt>>
40
41 Specify an alternative pid file. This overwrites any settings in the config 
42 file. This is thought for init-scripts that require the PID-file in a certain
43 directory to work correctly. For everyday-usage use the B<PIDFile>
44 config-option.
45
46 =item B<-f>
47
48 Don't fork to the background. I<collectd> will also B<not> close standard file
49 descriptors, detach from the session nor write a pid file. This is mainly
50 thought for 'supervising' init replacements such as I<runit>.
51
52 =item B<-h>
53
54 Output usage information and exit.
55
56 =back
57
58 =head1 PLUGINS
59
60 As noted above, the real power of collectd lies within it's plugins. A
61 (hopefully complete) list of plugins and short descriptions can be found in the
62 F<README> file that is distributed with the sourcecode. If you're using a
63 package it's a good bet to search somewhere near F</usr/share/doc/collectd>.
64
65 There are two big groups of plugins, B<input> and B<output> plugins:
66
67 =over 4
68
69 =item
70
71 Input plugins are queried periodically. They somehow acquire the current value
72 of whatever they where designed to work with and submit these values back to
73 the daemon, i. e. they "dispatch" the values. As an example, the C<cpu plugin>
74 reads the current cpu-counters of time spent in the various modes (user,
75 system, nice, ...) and dispatches these counters to the daemon.
76
77 =item
78
79 Output plugins get the dispatched values from the daemon and does something
80 with them. Common applications are writing to RRD-files, CSV-files or sending
81 the data over a network link to a remote box.
82
83 =back
84
85 Of course not all plugins fit neatly into one of the two above categories. The
86 C<network plugin>, for example, is able to send (i.E<nbsp>e. "write") B<and>
87 receive (i.E<nbsp>e. "dispatch") values. Also, it opens a socket upon
88 initialization and dispatches the values when it receives them and isn't
89 triggered at the same time the input plugins are being read. You can think of
90 the network receive part as working asynchronous if it helps.
91
92 In addition to the above, there are "logging plugins". Right now those are the
93 C<logfile plugin> and the C<syslog plugin>. With these plugins collectd can
94 provide information about issues and significant situations to the user.
95 Several loglevels let you suppress uninteresting messages.
96
97 Starting with version C<4.3.0> collectd has support for B<monitoring>. This is
98 done by checking thresholds defined by the user. If a value is out of range, a
99 notification will be dispatched to "notification plugins". See
100 L<collectd.conf(5)> for more detailed information about threshold checking.
101
102 Please note that some plugins, that provide other means of communicating with
103 the daemon, have manpages of their own to describe their functionality in more
104 detail. In particular those are L<collectd-email(5)>, L<collectd-exec(5)>,
105 L<collectd-perl(5)>, L<collectd-snmp(5)>, and L<collectd-unixsock(5)>
106
107 =head1 SIGNALS
108
109 B<collectd> accepts the following signals:
110
111 =over 4
112
113 =item B<SIGINT>, B<SIGTERM>
114
115 These signals cause B<collectd> to shut down all plugins and terminate.
116
117 =item B<SIGUSR1>
118
119 This signal causes B<collectd> to signal all plugins to flush data from
120 internal caches. E.E<nbsp>g. the C<rrdtool plugin> will write all pending data
121 to the RRD files. This is the same as using the C<FLUSH -1> command of the
122 C<unixsock plugin>.
123
124 =back
125
126 =head1 SEE ALSO
127
128 L<collectd.conf(5)>,
129 L<collectd-email(5)>,
130 L<collectd-exec(5)>,
131 L<collectd-perl(5)>,
132 L<collectd-snmp(5)>,
133 L<collectd-unixsock(5)>,
134 L<types.db(5)>,
135 L<http://collectd.org/>
136
137 =head1 AUTHOR
138
139 Florian Forster E<lt>octo@verplant.orgE<gt>
140
141 =cut