Trubostat: Refactor delta functions
[collectd.git] / src / collectd.conf.pod
index 03871a4..2ee2219 100644 (file)
@@ -2880,8 +2880,8 @@ which the sizes of physical memory vary.
 
 =head2 Plugin C<modbus>
 
 
 =head2 Plugin C<modbus>
 
-The B<modbus plugin> connects to a Modbus "slave" via Modbus/TCP and reads
-register values. It supports reading single registers (unsigned 16E<nbsp>bit
+The B<modbus plugin> connects to a Modbus "slave" via Modbus/TCP or Modbus/RTU and
+reads register values. It supports reading single registers (unsigned 16E<nbsp>bit
 values), large integer values (unsigned 32E<nbsp>bit values) and floating point
 values (two registers interpreted as IEEE floats in big endian notation).
 
 values), large integer values (unsigned 32E<nbsp>bit values) and floating point
 values (two registers interpreted as IEEE floats in big endian notation).
 
@@ -2890,6 +2890,7 @@ B<Synopsis:>
  <Data "voltage-input-1">
    RegisterBase 0
    RegisterType float
  <Data "voltage-input-1">
    RegisterBase 0
    RegisterType float
+   RegisterCmd ReadHolding
    Type voltage
    Instance "input-1"
  </Data>
    Type voltage
    Instance "input-1"
  </Data>
@@ -2897,10 +2898,19 @@ B<Synopsis:>
  <Data "voltage-input-2">
    RegisterBase 2
    RegisterType float
  <Data "voltage-input-2">
    RegisterBase 2
    RegisterType float
+   RegisterCmd ReadHolding
    Type voltage
    Instance "input-2"
  </Data>
 
    Type voltage
    Instance "input-2"
  </Data>
 
+ <Data "supply-temperature-1">
+   RegisterBase 0
+   RegisterType Int16
+   RegisterCmd ReadHolding
+   Type temperature
+   Instance "temp-1"
+ </Data>
+
  <Host "modbus.example.com">
    Address "192.168.0.42"
    Port    "502"
  <Host "modbus.example.com">
    Address "192.168.0.42"
    Port    "502"
@@ -2913,6 +2923,17 @@ B<Synopsis:>
    </Slave>
  </Host>
 
    </Slave>
  </Host>
 
+ <Host "localhost">
+   Device "/dev/ttyUSB0"
+   Baudrate 38400
+   Interval 20
+
+   <Slave 1>
+     Instance "temperature"
+     Collect  "supply-temperature-1"
+   </Slave>
+ </Host>
+
 =over 4
 
 =item E<lt>B<Data> I<Name>E<gt> blocks
 =over 4
 
 =item E<lt>B<Data> I<Name>E<gt> blocks
@@ -2936,6 +2957,11 @@ Specifies what kind of data is returned by the device. If the type is B<Int32>,
 B<Uint32> or B<Float>, two 16E<nbsp>bit registers will be read and the data is
 combined into one value. Defaults to B<Uint16>.
 
 B<Uint32> or B<Float>, two 16E<nbsp>bit registers will be read and the data is
 combined into one value. Defaults to B<Uint16>.
 
+=item B<RegisterCmd> B<ReadHolding>|B<ReadInput>
+
+Specifies register type to be collected from device. Works only with libmodbus
+2.9.2 or higher. Defaults to B<ReadHolding>.
+
 =item B<Type> I<Type>
 
 Specifies the "type" (data set) to use when dispatching the value to
 =item B<Type> I<Type>
 
 Specifies the "type" (data set) to use when dispatching the value to
@@ -2961,15 +2987,25 @@ Within E<lt>HostE<nbsp>/E<gt> blocks, the following options are allowed:
 
 =item B<Address> I<Hostname>
 
 
 =item B<Address> I<Hostname>
 
-Specifies the node name (the actual network address) used to connect to the
-host. This may be an IP address or a hostname. Please note that the used
-I<libmodbus> library only supports IPv4 at the moment.
+For Modbus/TCP, specifies the node name (the actual network address) used to
+connect to the host. This may be an IP address or a hostname. Please note that
+the used I<libmodbus> library only supports IPv4 at the moment.
 
 =item B<Port> I<Service>
 
 
 =item B<Port> I<Service>
 
-Specifies the port used to connect to the host. The port can either be given as
-a number or as a service name. Please note that the I<Service> argument must be
-a string, even if ports are given in their numerical form. Defaults to "502".
+for Modbus/TCP, specifies the port used to connect to the host. The port can
+either be given as a number or as a service name. Please note that the
+I<Service> argument must be a string, even if ports are given in their numerical
+form. Defaults to "502".
+
+=item B<Device> I<Devicenode>
+
+For Modbus/RTU, specifies the path to the serial device being used.
+
+=item B<Baudrate> I<Baudrate>
+
+For Modbus/RTU, specifies the baud rate of the serial device.
+Note, connections currently support only 8/N/1.
 
 =item B<Interval> I<Interval>
 
 
 =item B<Interval> I<Interval>
 
@@ -2978,7 +3014,7 @@ host. By default the global B<Interval> setting will be used.
 
 =item E<lt>B<Slave> I<ID>E<gt>
 
 
 =item E<lt>B<Slave> I<ID>E<gt>
 
-Over each TCP connection, multiple Modbus devices may be reached. The slave ID
+Over each connection, multiple Modbus devices may be reached. The slave ID
 is used to specify which device should be addressed. For each device you want
 to query, one B<Slave> block must be given.
 
 is used to specify which device should be addressed. For each device you want
 to query, one B<Slave> block must be given.
 
@@ -3109,12 +3145,12 @@ Disabled by default.
 
 Enable the collection of master / slave statistics in a replication setup. In
 order to be able to get access to these statistics, the user needs special
 
 Enable the collection of master / slave statistics in a replication setup. In
 order to be able to get access to these statistics, the user needs special
-privileges. See the B<User> documentation above.
+privileges. See the B<User> documentation above. Defaults to B<false>.
 
 =item B<SlaveNotifications> I<true|false>
 
 If enabled, the plugin sends a notification if the replication slave I/O and /
 
 =item B<SlaveNotifications> I<true|false>
 
 If enabled, the plugin sends a notification if the replication slave I/O and /
-or SQL threads are not running.
+or SQL threads are not running. Defaults to B<false>.
 
 =item B<ConnectTimeout> I<Seconds>
 
 
 =item B<ConnectTimeout> I<Seconds>
 
@@ -4962,6 +4998,10 @@ Specify the username to be used when connecting to the server.
 
 Specify the password to be used when connecting to the server.
 
 
 Specify the password to be used when connecting to the server.
 
+=item B<ExpireDelay> I<delay>
+
+Skip expired values in query output.
+
 =item B<SSLMode> I<disable>|I<allow>|I<prefer>|I<require>
 
 Specify whether to use an SSL connection when contacting the server. The
 =item B<SSLMode> I<disable>|I<allow>|I<prefer>|I<require>
 
 Specify whether to use an SSL connection when contacting the server. The
@@ -5333,6 +5373,10 @@ which configures the connection parameters for this node.
         Host "localhost"
         Port "6379"
         Timeout 2000
         Host "localhost"
         Port "6379"
         Timeout 2000
+        <Query "LLEN myqueue">
+          Type "queue_length"
+          Instance "myqueue"
+        <Query>
     </Node>
   </Plugin>
 
     </Node>
   </Plugin>
 
@@ -5370,6 +5414,22 @@ read function is blocking, you should keep this value as low as possible. Keep
 in mind that the sum of all B<Timeout> values for all B<Nodes> should be lower
 than B<Interval> defined globally.
 
 in mind that the sum of all B<Timeout> values for all B<Nodes> should be lower
 than B<Interval> defined globally.
 
+=item B<Query> I<Querystring>
+
+The B<Query> block identifies a query to execute against the redis server.
+There may be an arbitrary number of queries to execute.
+
+=item B<Type> I<Collectd type>
+
+Within a query definition, a valid collectd type to use as when submitting
+the result of the query. When not supplied, will default to B<gauge>.
+
+=item B<Instance> I<Type instance>
+
+Within a query definition, an optional type instance to use when submitting
+the result of the query. When not supplied will default to the escaped
+command, up to 64 chars.
+
 =back
 
 =head2 Plugin C<rrdcached>
 =back
 
 =head2 Plugin C<rrdcached>
@@ -5474,6 +5534,14 @@ Set the "XFiles Factor". The default is 0.1. If unsure, don't set this option.
 I<Factor> must be in the range C<[0.0-1.0)>, i.e. between zero (inclusive) and
 one (exclusive).
 
 I<Factor> must be in the range C<[0.0-1.0)>, i.e. between zero (inclusive) and
 one (exclusive).
 
+=item B<CollectStatistics> B<false>|B<true>
+
+When set to B<true>, various statistics about the I<rrdcached> daemon will be
+collected, with "rrdcached" as the I<plugin name>. Defaults to B<false>.
+
+Statistics are read via I<rrdcached>s socket using the STATS command.
+See L<rrdcached(1)> for details.
+
 =back
 
 =head2 Plugin C<rrdtool>
 =back
 
 =head2 Plugin C<rrdtool>
@@ -5788,7 +5856,20 @@ that I<Percent> of all reported timers are smaller than or equal to the
 computed latency. This is useful for cutting off the long tail latency, as it's
 often done in I<Service Level Agreements> (SLAs).
 
 computed latency. This is useful for cutting off the long tail latency, as it's
 often done in I<Service Level Agreements> (SLAs).
 
-If not specified, no percentile is calculated / dispatched.
+Different percentiles can be calculated by setting this option several times.
+If none are specified, no percentiles are calculated / dispatched.
+
+=item B<TimerLower> B<false>|B<true>
+
+=item B<TimerUpper> B<false>|B<true>
+
+=item B<TimerSum> B<false>|B<true>
+
+=item B<TimerCount> B<false>|B<true>
+
+Calculate and dispatch various values out of I<Timer> metrics received during
+an interval. If set to B<False>, the default, these values aren't calculated /
+dispatched.
 
 =back
 
 
 =back
 
@@ -6047,6 +6128,8 @@ Use the last number found.
 The matched number is a counter. Simply I<sets> the internal counter to this
 value. Variants exist for C<COUNTER>, C<DERIVE>, and C<ABSOLUTE> data sources.
 
 The matched number is a counter. Simply I<sets> the internal counter to this
 value. Variants exist for C<COUNTER>, C<DERIVE>, and C<ABSOLUTE> data sources.
 
+=item B<GaugeAdd>
+
 =item B<CounterAdd>
 
 =item B<DeriveAdd>
 =item B<CounterAdd>
 
 =item B<DeriveAdd>
@@ -6055,6 +6138,8 @@ Add the matched value to the internal counter. In case of B<DeriveAdd>, the
 matched number may be negative, which will effectively subtract from the
 internal counter.
 
 matched number may be negative, which will effectively subtract from the
 internal counter.
 
+=item B<GaugeInc>
+
 =item B<CounterInc>
 
 =item B<DeriveInc>
 =item B<CounterInc>
 
 =item B<DeriveInc>
@@ -6877,25 +6962,29 @@ want to use authentication all three fields must be set.
 
 This output plugin submits values to an HTTP server using POST requests and
 encoding metrics with JSON or using the C<PUTVAL> command described in
 
 This output plugin submits values to an HTTP server using POST requests and
 encoding metrics with JSON or using the C<PUTVAL> command described in
-L<collectd-unixsock(5)>. Each destination you want to post data to needs to
-have one B<URL> block, within which the destination can be configured further,
-for example by specifying authentication data.
+L<collectd-unixsock(5)>.
 
 Synopsis:
 
  <Plugin "write_http">
 
 Synopsis:
 
  <Plugin "write_http">
-   <URL "http://example.com/post-collectd">
+   <Node "example">
+     URL "http://example.com/post-collectd"
      User "collectd"
      Password "weCh3ik0"
      Format JSON
      User "collectd"
      Password "weCh3ik0"
      Format JSON
-   </URL>
+   </Node>
  </Plugin>
 
  </Plugin>
 
-B<URL> blocks need one string argument which is used as the URL to which data
-is posted. The following options are understood within B<URL> blocks.
+The plugin can send values to multiple HTTP servers by specifying one
+E<lt>B<Node>E<nbsp>I<Name>E<gt> block for each server. Within each B<Node>
+block, the following options are available:
 
 =over 4
 
 
 =over 4
 
+=item B<URL> I<URL>
+
+URL to which the values are submitted to. Mandatory.
+
 =item B<User> I<Username>
 
 Optional user name needed for authentication.
 =item B<User> I<Username>
 
 Optional user name needed for authentication.
@@ -7081,6 +7170,61 @@ want to set B<metadata.broker.list> to your Kafka broker list.
 
 =back
 
 
 =back
 
+=head2 Plugin C<write_redis>
+
+The I<write_redis plugin> submits values to I<Redis>, a data structure server.
+
+Synopsis:
+
+  <Plugin "write_redis">
+    <Node "example">
+        Host "localhost"
+        Port "6379"
+        Timeout 1000
+    </Node>
+  </Plugin>
+
+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
+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
+details.
+
+The information shown in the synopsis above is the I<default configuration>
+which is used by the plugin if no configuration is present.
+
+The plugin can send values to multiple instances of I<Redis> by specifying
+one B<Node> block for each instance. Within the B<Node> blocks, the following
+options are available:
+
+=over 4
+
+=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
+canonical identifier which is used as I<plugin instance>. It is limited to
+64E<nbsp>characters in length.
+
+=item B<Host> I<Hostname>
+
+The B<Host> option is the hostname or IP-address where the I<Redis> instance is
+running on.
+
+=item B<Port> I<Port>
+
+The B<Port> option is the TCP port on which the Redis instance accepts
+connections. Either a service name of a port number may be given. Please note
+that numerical port numbers must be given as a string, too.
+
+=item B<Timeout> I<Timeout in miliseconds>
+
+The B<Timeout> option sets the socket connection timeout, in milliseconds.
+
+=back
+
 =head2 Plugin C<write_riemann>
 
 The I<write_riemann plugin> will send values to I<Riemann>, a powerful stream
 =head2 Plugin C<write_riemann>
 
 The I<write_riemann plugin> will send values to I<Riemann>, a powerful stream
@@ -7126,7 +7270,7 @@ Service name or port number to connect to. Defaults to C<5555>.
 =item B<Protocol> B<UDP>|B<TCP>
 
 Specify the protocol to use when communicating with I<Riemann>. Defaults to
 =item B<Protocol> B<UDP>|B<TCP>
 
 Specify the protocol to use when communicating with I<Riemann>. Defaults to
-B<UDP>.
+B<TCP>.
 
 =item B<Batch> B<true>|B<false>
 
 
 =item B<Batch> B<true>|B<false>
 
@@ -7136,7 +7280,12 @@ regular intervals or when B<BatchMaxSize> is exceeded.
 
 Notifications are not batched and sent as soon as possible.
 
 
 Notifications are not batched and sent as soon as possible.
 
-Defaults to false
+When enabled, it can occur that events get processed by the Riemann server
+close to or after their expiration time. Tune the B<TTLFactor> and
+B<BatchMaxSize> settings according to the amount of values collected, if this
+is an issue.
+
+Defaults to true
 
 =item B<BatchMaxSize> I<size>
 
 
 =item B<BatchMaxSize> I<size>
 
@@ -7198,6 +7347,31 @@ attribute for each metric being sent out to I<Riemann>.
 
 =back
 
 
 =back
 
+=head2 Plugin C<zookeeper>
+
+The I<zookeeper plugin> will collect statistics from a I<Zookeeper> server
+using the mntr command.  It requires Zookeeper 3.4.0+ and access to the
+client port.
+
+B<Synopsis:>
+
+ <Plugin "zookeeper">
+   Host "127.0.0.1"
+   Port "2181"
+ </Plugin>
+
+=over 4
+
+=item B<Host> I<Address>
+
+Hostname or address to connect to. Defaults to C<localhost>.
+
+=item B<Port> I<Service>
+
+Service name or port number to connect to. Defaults to C<2181>.
+
+=back
+
 =head1 THRESHOLD CONFIGURATION
 
 Starting with version C<4.3.0> collectd has support for B<monitoring>. By that
 =head1 THRESHOLD CONFIGURATION
 
 Starting with version C<4.3.0> collectd has support for B<monitoring>. By that