diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod
index 019461abf253a95d6afe4ae760195c871126dd65..e476c48f1127533839d4cccbbc19c15ecf16245b 100644 (file)
--- a/src/collectd.conf.pod
+++ b/src/collectd.conf.pod
When set to B<true>, various statistics about the I<collectd> daemon will be
collected, with "collectd" as the I<plugin name>. Defaults to B<false>.
-The "write_queue" I<plugin instance> reports the number of elements currently
-queued and the number of elements dropped off the queue by the
-B<WriteQueueLimitLow>/B<WriteQueueLimitHigh> mechanism.
+The following metrics are reported:
-The "cache" I<plugin instance> reports the number of elements in the value list
-cache (the cache you can interact with using L<collectd-unixsock(5)>).
+=over 4
+
+=item C<collectd-write_queue/queue_length>
+
+The number of metrics currently in the write queue. You can limit the queue
+length with the B<WriteQueueLimitLow> and B<WriteQueueLimitHigh> options.
+
+=item C<collectd-write_queue/derive-dropped>
+
+The number of metrics dropped due to a queue length limitation.
+If this value is non-zero, your system can't handle all incoming metrics and
+protects itself against overload by dropping metrics.
+
+=item C<collectd-cache/cache_size>
+
+The number of elements in the metric cache (the cache you can interact with
+using L<collectd-unixsock(5)>).
+
+=back
=item B<Include> I<Path> [I<pattern>]
in combination with recursively including a directory to easily be able to
arbitrarily mix configuration files and other documents (e.g. README files).
The given example is similar to the first example above but includes all files
-matching C<*.conf> in any subdirectory of C</etc/collectd.d>:
-
- Include "/etc/collectd.d" "*.conf"
+matching C<*.conf> in any subdirectory of C</etc/collectd.d>.
=back
Set one or more files that contain the data-set descriptions. See
L<types.db(5)> for a description of the format of this file.
+If this option is not specified, a default file is read. If you need to define
+custom types in addition to the types defined in the default file, you need to
+explicitly load both. In other words, if the B<TypesDB> option is encountered
+the default behavior is disabled and if you need the default types you have to
+also explicitly load them.
+
=item B<Interval> I<Seconds>
Configures the interval in which to query the read plugins. Obviously smaller
=over 4
-=item
+=item *
The I<Type> cannot be left unspecified, because it is not reasonable to add
apples to oranges. Also, the internal lookup structure won't work if you try
to group by type.
-=item
+=item *
There must be at least one unspecified, ungrouped field. Otherwise nothing
will be aggregated.
=over 4
-=item
+=item *
foo.example.com/cpu-even-average/cpu-idle
-=item
+=item *
foo.example.com/cpu-even-average/cpu-system
-=item
+=item *
foo.example.com/cpu-even-average/cpu-user
-=item
+=item *
...
=head2 Plugin C<amqp>
-The I<AMQMP plugin> can be used to communicate with other instances of
+The I<AMQP plugin> can be used to communicate with other instances of
I<collectd> or third party applications using an AMQP message broker. Values
are sent to or received from the broker, which handles routing, queueing and
possibly filtering or messages.
The reduction or normalization to mean sea level pressure requires (depending
on selected method/approximation) also altitude and reference to temperature
-sensor(s). When multiple temperature sensors are configured the minumum of
+sensor(s). When multiple temperature sensors are configured the minimum of
their values is always used (expecting that the warmer ones are affected by
e.g. direct sun light at that moment).
Temperature sensor(s) which should be used as a reference when normalizing the
pressure using C<Normalization> method 2.
-When specified more sensors a minumum is found and used each time. The
+When specified more sensors a minimum is found and used each time. The
temperature reading directly from this pressure sensor/plugin is typically not
suitable as the pressure sensor will be probably inside while we want outside
temperature. The collectd reference name is something like
=over 4
-=item
+=item *
Sum, per-state, over all CPUs installed in the system; and
-=item
+=item *
Sum, per-CPU, over all non-idle states of a CPU, creating an "active" state.
plugin's fault, it will report errors if it gets them from the libraryE<nbsp>/
the driver. If a driver complains about an option, the plugin will dump a
complete list of all options understood by that driver to the log. There is no
-way to programatically find out if an option expects a string or a numeric
+way to programmatically find out if an option expects a string or a numeric
argument, so you will have to refer to the appropriate DBD's documentation to
find this out. Sorry.
@@ -2267,7 +2286,7 @@ expected from them. This is documented in great detail in L<collectd-exec(5)>.
=head2 Plugin C<fhcount>
The C<fhcount> plugin provides statistics about used, unused and total number of
-file handles.
+file handles on Linux.
The I<fhcount plugin> provides the following configuration options:
=item B<IgnoreSelected> I<true>|I<false>
-If no configuration if given, the B<traffic>-plugin will collect data from
+If no configuration if given, the B<interface>-plugin will collect data from
all interfaces. This may not be practical, especially for loopback- and
similar interfaces. Thus, you can use the B<Interface>-option to pick the
interfaces you're interested in. Sometimes, however, it's easier/preferred
B<Interface> is inverted: All selected interfaces are ignored and all
other interfaces are collected.
+It is possible to use regular expressions to match interface names, if the
+name is surrounded by I</.../> and collectd was compiled with support for
+regexps. This is useful if there's a need to collect (or ignore) data
+for a group of interfaces that are similarly named, without the need to
+explicitly list all of them (especially useful if the list is dynamic).
+Example:
+
+ Interface "lo"
+ Interface "/^veth/"
+ Interface "/^tun[0-9]+/"
+ IgnoreSelected "true"
+
+This will ignore the loopback interface, all interfaces with names starting
+with I<veth> and all interfaces with names starting with I<tun> followed by
+at least one digit.
+
+
=back
=head2 Plugin C<ipmi>
=item B<Chain> I<Table> I<Chain> [I<Comment|Number> [I<Name>]]
-Select the rules to count. If only I<Table> and I<Chain> are given, this plugin
-will collect the counters of all rules which have a comment-match. The comment
-is then used as type-instance.
+=item B<Chain6> I<Table> I<Chain> [I<Comment|Number> [I<Name>]]
+
+Select the iptables/ip6tables filter rules to count packets and bytes from.
+
+If only I<Table> and I<Chain> are given, this plugin will collect the counters
+of all rules which have a comment-match. The comment is then used as
+type-instance.
If I<Comment> or I<Number> is given, only the rule with the matching comment or
the I<n>th rule will be collected. Again, the comment (or the number) will be
=head2 Plugin C<ntpd>
+The C<ntpd> plugin collects per-peer ntp data such as time offset and time
+dispersion.
+
+For talking to B<ntpd>, it mimics what the B<ntpdc> control program does on
+the wire - using B<mode 7> specific requests. This mode is deprecated with
+newer B<ntpd> releases (4.2.7p230 and later). For the C<ntpd> plugin to work
+correctly with them, the ntp daemon must be explicitly configured to
+enable B<mode 7> (which is disabled by default). Refer to the I<ntp.conf(5)>
+manual page for details.
+
+Available configuration options for the C<ntpd> plugin:
+
=over 4
=item B<Host> I<Hostname>
Specify the plugin instance name that should be used instead of the database
name (which is the default, if this option has not been specified). This
-allows to query multiple databases of the same name on the same host (e.g.
+allows one to query multiple databases of the same name on the same host (e.g.
when running multiple database server versions in parallel).
=item B<Host> I<hostname>
Specify the plugin instance name that should be used instead of the database
name (which is the default, if this option has not been specified). This
-allows to query multiple databases of the same name on the same host (e.g.
+allows one to query multiple databases of the same name on the same host (e.g.
when running multiple database server versions in parallel).
=item B<KRBSrvName> I<kerberos_service_name>
@@ -5413,13 +5465,16 @@ collected for these selected processes are size of the resident segment size
(RSS), user- and system-time used, number of processes and number of threads,
io data (where available) and minor and major pagefaults.
+Some platforms have a limit on the length of process names. I<Name> must stay
+below this limit.
+
=item B<ProcessMatch> I<name> I<regex>
-Similar to the B<Process> option this allows to select more detailed
+Similar to the B<Process> option this allows one to select more detailed
statistics of processes matching the specified I<regex> (see L<regex(7)> for
details). The statistics of all matching processes are summed up and
dispatched to the daemon using the specified I<name> as an identifier. This
-allows to "group" several processes together. I<name> must not contain
+allows one to "group" several processes together. I<name> must not contain
slashes.
=back
restarted. This results in much shorter (if any) gaps in graphs, especially
under heavy load. Also, the C<rrdtool> command line utility is aware of the
daemon so that it can flush values to disk automatically when needed. This
-allows to integrate automated flushing of values into graphing solutions much
-more easily.
+allows one to integrate automated flushing of values into graphing solutions
+much more easily.
There are disadvantages, though: The daemon may reside on a different host, so
it may not be possible for C<collectd> to create the appropriate RRD files
=over 4
-=item
+=item *
Check I</etc/uuid> (or I<UUIDFile>).
-=item
+=item *
Check for UUID from HAL (L<http://www.freedesktop.org/wiki/Software/hal>) if
present.
-=item
+=item *
Check for UUID from C<dmidecode> / SMBIOS.
-=item
+=item *
Check for UUID from Xen hypervisor.
B<uuid> means use the guest's UUID.
+You can also specify combinations of these fields. For example B<name uuid>
+means to concatenate the guest name and UUID (with a literal colon character
+between, thus I<"foo:1234-1234-1234-1234">).
+
=back
=head2 Plugin C<vmem>
=item B<Key> I<String>
-Use the specified string as a partioning key for the topic. Kafka breaks
+Use the specified string as a partitioning key for the topic. Kafka breaks
topic into partitions and guarantees that for a given topology, the same
consumer will be used for a specific key. The special (case insensitive)
string B<Random> can be used to specify that an arbitrary partition should
Values are submitted to I<Sorted Sets>, using the metric name as the key, and
the timestamp as the score. Retrieving a date range can then be done using the
-C<ZRANGEBYSCORE> I<Redis> command. Additionnally, all the identifiers of these
+C<ZRANGEBYSCORE> I<Redis> command. Additionally, all the identifiers of these
I<Sorted Sets> are kept in a I<Set> called C<collectd/values> and can be
retrieved using the C<SMEMBERS> I<Redis> command. See
L<http://redis.io/commands#sorted_set> and L<http://redis.io/commands#set> for
=item B<Node> I<Nodename>
The B<Node> block identifies a new I<Redis> node, that is a new I<Redis>
-instance running in an specified host and port. The name for node is a
+instance running on a specified host and port. The node name is a
canonical identifier which is used as I<plugin instance>. It is limited to
-64E<nbsp>characters in length.
+51E<nbsp>characters in length.
=item B<Host> I<Hostname>
=item B<AlwaysAppendDS> B<false>|B<true>
-If set the B<true>, append the name of the I<Data Source> (DS) to the
+If set to B<true>, append the name of the I<Data Source> (DS) to the
"service", i.e. the field that, together with the "host" field, uniquely
identifies a metric in I<Riemann>. If set to B<false> (the default), this is
only done when there is more than one DS.