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 CPU utilization (I<cpu>)
23 Disk and partition usage/throughput (I<disk>)
27 Harddisk temperatures (I<hddtemp>)
31 System load averages (I<load>)
35 Memory usage (I<memory>)
39 NFS utilization (I<nfs>, Linux only)
43 Network latency (I<ping>)
47 Number of processes (I<processes>, Linux only)
51 lm_sensors information (I<sensors>, Linux only)
55 Serial port traffic (I<serial>, Linux only)
63 Tape drive usage (I<tape>, Solaris only)
67 Network traffic (I<traffic>)
71 Number of users logged into the system (I<users>)
81 Start in local mode. This is the default. No data will be sent or read to/from
82 the network. Information will be read and written by the same process. See
87 Start in client (transmitter) mode. Data will be sent to the multicast group.
92 Start in server (receiver) mode. Data sent to the multicast group will be read
93 and stored in RRD files. See L<"MODES">.
97 Don't fork to the background. I<collectd> will also B<not> close standard file
98 descriptors, detach from the session nor write a pid file. This is mainly
99 thought for 'supervisioning' init replacements such as I<runit>.
101 =item B<-D> I<E<lt>directoryE<gt>>
103 Sets the directory collectd should work in. All F<.rrd>-files are created in
104 this directory. Per default this is F</var/lib/collectd/>.
106 =item B<-M> I<E<lt>directoryE<gt>>
108 Sets the directory collectd should look for plugins in. Per default this is
109 F</usr/lib/collectd>.
111 =item B<-P> I<E<lt>fileE<gt>>
117 Output usage information and exit.
119 =item B<-p> I<E<lt>hostE<gt>>
121 Sets the host to ping periodically. This option may be given more than once to
122 ping multiple hosts. If this option is not given at least once no host will be
129 The RRD files are created automatically with the following RRAs:
131 RRA:AVERAGE:0.2:6:1500
132 RRA:AVERAGE:0.1:180:1680
133 RRA:AVERAGE:0.1:2160:1520
136 RRA:MIN:0.1:2160:1520
139 RRA:MAX:0.1:2160:1520
141 Since collectd uses a 10 second I<step> the RRAs contain the following
144 Resolution | Data points | Timespan
145 -----------+-------------+----------
146 60 seconds | 1500 | 25 hours
147 30 minutes | 1680 | 35 days
148 6 hours | 1520 | 380 days
150 The DS'es depend on the module creating the RRD files:
154 =item CPU (F<cpu-I<E<lt>numE<gt>>.rrd>)
156 DS:user:COUNTER:25:0:100
157 DS:nice:COUNTER:25:0:100
158 DS:syst:COUNTER:25:0:100
159 DS:idle:COUNTER:25:0:100
160 DS:wait:COUNTER:25:0:100
162 =item Diskstats (F<disk-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
164 DS:rcount:COUNTER:25:0:U
165 DS:rmerged:COUNTER:25:0:U
166 DS:rbytes:COUNTER:25:0:U
167 DS:rtime:COUNTER:25:0:U
168 DS:wcount:COUNTER:25:0:U
169 DS:wmerged:COUNTER:25:0:U
170 DS:wbytes:COUNTER:25:0:U
171 DS:wtime:COUNTER:25:0:U
173 =item Diskstats (F<partition-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
175 DS:rcount:COUNTER:25:0:U
176 DS:rbytes:COUNTER:25:0:U
177 DS:wcount:COUNTER:25:0:U
178 DS:wbytes:COUNTER:25:0:U
180 =item HDD Temperature (F<hddtemp-I<E<lt>majorE<gt>>-I<E<lt>minorE<gt>>.rrd>)
182 DS:value:GAUGE:25:U:U
184 =item System load (F<load.rrd>)
186 DS:shortterm:GAUGE:25:0:100
187 DS:midterm:GAUGE:25:0:100
188 DS:longterm:GAUGE:25:0:100
190 =item Memory usage (F<memory.rrd>)
192 DS:used:GAUGE:25:0:9223372036854775807
193 DS:free:GAUGE:25:0:9223372036854775807
194 DS:buffers:GAUGE:25:0:9223372036854775807
195 DS:cached:GAUGE:25:0:9223372036854775807
197 =item NFSv2 Procedures (F<nfs2_procedures-I<(client|server)>.rrd>)
199 DS:null:COUNTER:25:0:U
200 DS:getattr:COUNTER:25:0:U
201 DS:setattr:COUNTER:25:0:U
202 DS:root:COUNTER:25:0:U
203 DS:lookup:COUNTER:25:0:U
204 DS:readlink:COUNTER:25:0:U
205 DS:read:COUNTER:25:0:U
206 DS:wrcache:COUNTER:25:0:U
207 DS:write:COUNTER:25:0:U
208 DS:create:COUNTER:25:0:U
209 DS:remove:COUNTER:25:0:U
210 DS:rename:COUNTER:25:0:U
211 DS:link:COUNTER:25:0:U
212 DS:symlink:COUNTER:25:0:U
213 DS:mkdir:COUNTER:25:0:U
214 DS:rmdir:COUNTER:25:0:U
215 DS:readdir:COUNTER:25:0:U
216 DS:fsstat:COUNTER:25:0:U
218 =item NFSv3 Procedures (F<nfs3_procedures-I<(client|server)>.rrd>)
220 DS:null:COUNTER:25:0:U
221 DS:getattr:COUNTER:25:0:U
222 DS:setattr:COUNTER:25:0:U
223 DS:lookup:COUNTER:25:0:U
224 DS:access:COUNTER:25:0:U
225 DS:readlink:COUNTER:25:0:U
226 DS:read:COUNTER:25:0:U
227 DS:write:COUNTER:25:0:U
228 DS:create:COUNTER:25:0:U
229 DS:mkdir:COUNTER:25:0:U
230 DS:symlink:COUNTER:25:0:U
231 DS:mknod:COUNTER:25:0:U
232 DS:remove:COUNTER:25:0:U
233 DS:rmdir:COUNTER:25:0:U
234 DS:rename:COUNTER:25:0:U
235 DS:link:COUNTER:25:0:U
236 DS:readdir:COUNTER:25:0:U
237 DS:readdirplus:COUNTER:25:0:U
238 DS:fsstat:COUNTER:25:0:U
239 DS:fsinfo:COUNTER:25:0:U
240 DS:pathconf:COUNTER:25:0:U
241 DS:commit:COUNTER:25:0:U
243 =item Network latency / Ping (F<ping-I<E<lt>hostnameE<gt>>.rrd>)
245 DS:ping:GAUGE:25:0:65535
247 =item Processes (F<processes.rrd>)
249 DS:running:GAUGE:25:0:65535
250 DS:sleeping:GAUGE:25:0:65535
251 DS:zombies:GAUGE:25:0:65535
252 DS:stopped:GAUGE:25:0:65535
253 DS:paging:GAUGE:25:0:65535
254 DS:blocked:GAUGE:25:0:65535
256 =item lm_sensors (F<sensors-I<E<lt>chipE<gt>>-I<E<lt>featureE<gt>>.rrd>)
258 DS:value:GAUGE:25:U:U
260 =item Serial port traffic (F<serial-I<E<lt>numE<gt>>.rrd>)
262 DS:incoming:COUNTER:25:0:U
263 DS:outgoing:COUNTER:25:0:U
265 =item Swap usage (F<swap.rrd>)
267 DS:used:GAUGE:25:0:1099511627776
268 DS:free:GAUGE:25:0:1099511627776
269 DS:cached:GAUGE:25:0:1099511627776
270 DS:resv:GAUGE:25:0:1099511627776
272 =item Tape drive usage (F<tape-I<E<lt>nameE<gt>>.rrd>)
274 DS:rcount:COUNTER:25:0:
275 DS:rmerged:COUNTER:25:0:U
276 DS:rbytes:COUNTER:25:0:U
277 DS:rtime:COUNTER:25:0:U
278 DS:wcount:COUNTER:25:0:U
279 DS:wmerged:COUNTER:25:0:U
280 DS:wbytes:COUNTER:25:0:U
281 DS:wtime:COUNTER:25:0:U
283 =item Network traffic (F<traffic-I<E<lt>nameE<gt>>.rrd>)
285 DS:incoming:COUNTER:25:0:U
286 DS:outgoing:COUNTER:25:0:U
288 =item Users (F<users.rrd>)
290 DS:users:GAUGE:25:0:65535
296 By default collectd starts in the so called I<local mode> which is not very
297 interesting. It collects data and writes it into RRD files in
298 F</var/lib/collectd>. There's nothing special so I won't discuss that in more
301 Please be aware that B<client-, local- and server-mode are mutual exclusive>. A
302 later declaration overrides earlier ones. I<collectd -l -c -s> will start in
303 server-mode. If you want statistics of the server too you will have to start a
304 client process as well.
306 Starting with version 3 collectd may send data over a network. As common with
307 network stuff there are two modes: A I<sender> and a I<listener>. Since one
308 usually has many senders and only a few listeners the sender is also called
309 I<client> (using the option B<-c>) and the listener is called I<server> (using
312 Communication happends using the (IPv4) multicast group B<239.192.74.66> and
313 packets sent to the port B<25826/udp>. Every ten seconds the I<client> queries
314 all the modules and sends the collected data to the multicast group. The
315 I<server> subscribes to the multicast group upon startup and then waits for
316 incoming packets. As it receives the packets it checks wether it has the
317 neccessary module and, if found, writes the data to an RRD file, creating
318 directories and files as needed.
320 The multicast group used is within the I<Organization Local Scope> as defined
321 by L<RFC2365>. Addresses within that space are meant to be routed within an AS
322 but not to the outside. However collectd cannot control this and won't try. So
323 it's totally up to you to secure your net.
325 The UDP port used has been checked to not be assigned by the IANA.
327 On multi-homed machines you may need to add a route to the multicast net
328 (B<224.0.0.0/4>) if multicast packages take the wrong interface. The listener
329 on the other hand listens on B<all> interfaces.
331 =head1 SPECIAL MODULES
335 This module reads F</sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq> (for
336 the first CPU installed) to get the current CPU frequency. If this file does
337 not exist make sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a
338 similar tool is installed.
342 The B<sensors> module uses lm_sensors to retrieve sensor-values. This means
343 that all the needed modules have to be loaded and lm_sensors has to be
344 configured (most likely by editing F</etc/sensors.conf>. Read
345 L<sensors.conf(5)> for details.
347 The B<lm_sensors> homepage can be found at
348 L<http://secure.netroedge.com/~lm78/>.
352 To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
353 port B<7634/tcp>. hddtemp has to be running to work correctly. If hddtemp is
354 not running timeouts may appear which may interfere with other statistics..
356 The B<hddtemp> homepage can be found at
357 L<http://www.guzu.net/linux/hddtemp.php>.
361 L<rrdtool(1)>, L<sensors(1)>, L<hddtemp(8)>, L<kstat(3KSTAT)>
365 Florian Forster E<lt>octo@verplant.orgE<gt>