.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "COLLECTD 1" .TH COLLECTD 1 "2020-07-20" "5.11.0.94.g41b1e33" "collectd" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" collectd \- System statistics collection daemon .SH "SYNOPSIS" .IX Header "SYNOPSIS" collectd \fI[options]\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" collectd is a daemon that receives system statistics and makes them available in a number of ways. The main daemon itself doesn't have any real functionality apart from loading, querying and submitting to plugins. For a description of available plugins please see \*(L"\s-1PLUGINS\*(R"\s0 below. .SH "OPTIONS" .IX Header "OPTIONS" Most of collectd's configuration is done using using a configfile. See \&\fBcollectd.conf\fR\|(5) for an in-depth description of all options. .IP "\fB\-C\fR \fI\fR" 4 .IX Item "-C " Specify an alternative config file. This is the place to go when you wish to change \fBcollectd\fR's behavior. The path may be relative to the current working directory. .IP "\fB\-t\fR" 4 .IX Item "-t" Test the configuration only. The program immediately exits after parsing the config file. A return code not equal to zero indicates an error. .IP "\fB\-T\fR" 4 .IX Item "-T" Test the plugin read callbacks only. The program immediately exits after invoking the read callbacks once. A return code not equal to zero indicates an error. .IP "\fB\-P\fR \fI\fR" 4 .IX Item "-P " Specify an alternative pid file. This overwrites any settings in the config file. This is thought for init-scripts that require the PID-file in a certain directory to work correctly. For everyday-usage use the \fBPIDFile\fR config-option. .IP "\fB\-B\fR" 4 .IX Item "-B" If set, collectd will \fInot\fR try to create its base directory. If the base directory does not exist, it will exit rather than trying to create the directory. .IP "\fB\-f\fR" 4 .IX Item "-f" Don't fork to the background. \fIcollectd\fR will also \fBnot\fR close standard file descriptors, detach from the session nor write a pid file. This is mainly thought for 'supervising' init replacements such as \fIrunit\fR. If using \&\fIupstart\fR or \fIsystemd\fR though, starting with version 5.5.0 \fIcollectd\fR is able to notify these two init replacements, and \fBdoes\fR require forking to the background for process supervision. The \fIcontrib/\fR directory has sample \&\fIupstart\fR and \fIsystemd\fR configuration files. .IP "\fB\-h\fR" 4 .IX Item "-h" Output usage information and exit. .SH "PLUGINS" .IX Header "PLUGINS" As noted above, the real power of collectd lies within its plugins. A (hopefully complete) list of plugins and short descriptions can be found in the \&\fI\s-1README\s0\fR file that is distributed with the sourcecode. If you're using a package it's a good bet to search somewhere near \fI/usr/share/doc/collectd\fR. .PP There are two big groups of plugins, \fBinput\fR and \fBoutput\fR plugins: .IP "\(bu" 4 Input plugins are queried periodically. They somehow acquire the current value of whatever they where designed to work with and submit these values back to the daemon, i. e. they \*(L"dispatch\*(R" the values. As an example, the \f(CW\*(C`cpu plugin\*(C'\fR reads the current cpu-counters of time spent in the various modes (user, system, nice, ...) and dispatches these counters to the daemon. .IP "\(bu" 4 Output plugins get the dispatched values from the daemon and does something with them. Common applications are writing to RRD-files, CSV-files or sending the data over a network link to a remote box. .PP Of course not all plugins fit neatly into one of the two above categories. The \&\f(CW\*(C`network plugin\*(C'\fR, for example, is able to send (i.\ e. \*(L"write\*(R") \fBand\fR receive (i.\ e. \*(L"dispatch\*(R") values. Also, it opens a socket upon initialization and dispatches the values when it receives them and isn't triggered at the same time the input plugins are being read. You can think of the network receive part as working asynchronous if it helps. .PP In addition to the above, there are \*(L"logging plugins\*(R". Right now those are the \&\f(CW\*(C`logfile plugin\*(C'\fR and the \f(CW\*(C`syslog plugin\*(C'\fR. With these plugins collectd can provide information about issues and significant situations to the user. Several loglevels let you suppress uninteresting messages. .PP Starting with version \f(CW4.3.0\fR collectd has support for \fBmonitoring\fR. This is done by checking thresholds defined by the user. If a value is out of range, a notification will be dispatched to \*(L"notification plugins\*(R". See \&\fBcollectd.conf\fR\|(5) for more detailed information about threshold checking. .PP Please note that some plugins, that provide other means of communicating with the daemon, have manpages of their own to describe their functionality in more detail. In particular those are \fBcollectd\-email\fR\|(5), \fBcollectd\-exec\fR\|(5), \&\fBcollectd\-perl\fR\|(5), \fBcollectd\-snmp\fR\|(5), and \fBcollectd\-unixsock\fR\|(5) .SH "SIGNALS" .IX Header "SIGNALS" \&\fBcollectd\fR accepts the following signals: .IP "\fB\s-1SIGINT\s0\fR, \fB\s-1SIGTERM\s0\fR" 4 .IX Item "SIGINT, SIGTERM" These signals cause \fBcollectd\fR to shut down all plugins and terminate. .IP "\fB\s-1SIGUSR1\s0\fR" 4 .IX Item "SIGUSR1" This signal causes \fBcollectd\fR to signal all plugins to flush data from internal caches. E.\ g. the \f(CW\*(C`rrdtool plugin\*(C'\fR will write all pending data to the \s-1RRD\s0 files. This is the same as using the \f(CW\*(C`FLUSH \-1\*(C'\fR command of the \&\f(CW\*(C`unixsock plugin\*(C'\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBcollectd.conf\fR\|(5), \&\fBcollectd\-email\fR\|(5), \&\fBcollectd\-exec\fR\|(5), \&\fBcollectd\-perl\fR\|(5), \&\fBcollectd\-snmp\fR\|(5), \&\fBcollectd\-unixsock\fR\|(5), \&\fBtypes.db\fR\|(5), .SH "AUTHOR" .IX Header "AUTHOR" Florian Forster