correct default write_graphite protocol in manpage
[collectd.git] / src / collectd.conf.pod
index a673a58..2aebbd3 100644 (file)
@@ -730,6 +730,29 @@ default for backwards compatibility, the time will be reported in minutes.
 
 =back
 
+=head2 Plugin C<aquaero>
+
+This plugin collects the value of the available sensors in an
+I<AquaeroE<nbsp>5> board. AquaeroE<nbsp>5 is a water-cooling controller board,
+manufactured by Aqua Computer GmbH L<http://www.aquacomputer.de/>, with a USB2
+connection for monitoring and configuration. The board can handle multiple
+temperature sensors, fans, water pumps and water level sensors and adjust the
+output settings such as fan voltage or power used by the water pump based on
+the available inputs using a configurable controller included in the board.
+This plugin collects all the available inputs as well as some of the output
+values chosen by this controller. The plugin is based on the I<libaquaero5>
+library provided by I<aquatools-ng>.
+
+=over 4
+
+=item B<Device> I<DevicePath>
+
+Device path of the AquaeroE<nbsp>5's USB HID (human interface device), usually
+in the form C</dev/usb/hiddevX>. If this option is no set the plugin will try
+to auto-detect the Aquaero 5 USB device based on vendor-ID and product-ID.
+
+=back
+
 =head2 Plugin C<ascent>
 
 This plugin collects information about an Ascent server, a free server for the
@@ -1072,13 +1095,15 @@ is set to B<true>, B<Match> blocks are optional.
 
 =head2 Plugin C<curl_json>
 
-The B<curl_json plugin> uses B<libcurl> (L<http://curl.haxx.se/>) and
-B<libyajl> (L<http://www.lloydforge.org/projects/yajl/>) to retrieve JSON data
-via cURL. This can be used to collect values from CouchDB documents (which are
-stored JSON notation), for example.
+The B<curl_json plugin> collects values from JSON data to be parsed by
+B<libyajl> (L<http://www.lloydforge.org/projects/yajl/>) retrieved via
+either B<libcurl> (L<http://curl.haxx.se/>) or read directly from a
+unix socket. The former can be used, for example, to collect values
+from CouchDB documents (which are stored JSON notation), and the
+latter to collect values from a uWSGI stats socket.
 
-The following example will collect several values from the built-in `_stats'
-runtime statistics module of CouchDB
+The following example will collect several values from the built-in
+C<_stats> runtime statistics module of I<CouchDB>
 (L<http://wiki.apache.org/couchdb/Runtime_Statistics>).
 
   <Plugin curl_json>
@@ -1098,11 +1123,30 @@ runtime statistics module of CouchDB
     </URL>
   </Plugin>
 
-In the B<Plugin> block, there may be one or more B<URL> blocks, each defining
-a URL to be fetched via HTTP (using libcurl) and one or more B<Key> blocks.
-The B<Key> string argument must be in a path format, which is used to collect a
-value from a JSON map object. If a path element of B<Key> is the
-I<*>E<nbsp>wildcard, the values for all keys will be collectd.
+This example will collect data directly from a I<uWSGI> "Stats Server" socket.
+
+  <Plugin curl_json>
+    <Sock "/var/run/uwsgi.stats.sock">
+      Instance "uwsgi"
+      <Key "workers/*/requests">
+        Type "http_requests"
+      </Key>
+
+      <Key "workers/*/apps/*/requests">
+        Type "http_requests"
+      </Key>
+    </Sock>
+  </Plugin>
+
+In the B<Plugin> block, there may be one or more B<URL> blocks, each
+defining a URL to be fetched via HTTP (using libcurl) or B<Sock>
+blocks defining a unix socket to read JSON from directly.  Each of
+these blocks may have one or more B<Key> blocks.
+
+The B<Key> string argument must be in a path format. Each component is
+used to match the key from a JSON map or the index of an JSON
+array. If a path component of a B<Key> is a I<*>E<nbsp>wildcard, the
+values for all map keys or array indices will be collectd.
 
 The following options are valid within B<URL> blocks:
 
@@ -5148,9 +5192,9 @@ and all other sensors are collected.
 
 =back
 
-=head2 Plugin "sigrok"
+=head2 Plugin C<sigrok>
 
-The I<sigrok> plugin uses libsigrok to retrieve measurements from any device
+The I<sigrok plugin> uses I<libsigrok> to retrieve measurements from any device
 supported by the L<sigrok|http://sigrok.org/> project.
 
 B<Synopsis>
@@ -5159,12 +5203,12 @@ B<Synopsis>
    LogLevel 3
    <Device "AC Voltage">
       Driver "fluke-dmm"
-         MinimumInterval 10
-         Conn "/dev/ttyUSB2"
+      MinimumInterval 10
+      Conn "/dev/ttyUSB2"
    </Device>
    <Device "Sound Level">
       Driver "cem-dt-885x"
-         Conn "/dev/ttyUSB1"
+      Conn "/dev/ttyUSB1"
    </Device>
  </Plugin>
 
@@ -5172,46 +5216,47 @@ B<Synopsis>
 
 =item B<LogLevel> B<0-5>
 
-The sigrok logging level to pass on to the collectd log, as a number 0-5.
-These levels correspond to None, Errors, Warnings, Informational, Debug
-and Spew, respectively.  The default is 2 (Warnings). The sigrok log messages,
-regardless of their level, are always submitted to collectd at its INFO
-log level.
+The I<sigrok> logging level to pass on to the I<collectd> log, as a number
+between B<0> and B<5> (inclusive). These levels correspond to C<None>,
+C<Errors>, C<Warnings>, C<Informational>, C<Debug >and C<Spew>, respectively.
+The default is B<2> (C<Warnings>). The I<sigrok> log messages, regardless of
+their level, are always submitted to I<collectd> at its INFO log level.
 
-=item E<lt>B<Device> I<name>E<gt>
+=item E<lt>B<Device> I<Name>E<gt>
 
 A sigrok-supported device, uniquely identified by this section's options. The
-I<name> is passed to collectd as the I<plugin instance>.
+I<Name> is passed to I<collectd> as the I<plugin instance>.
 
-=item B<Driver>
+=item B<Driver> I<DriverName>
 
 The sigrok driver to use for this device.
 
-=item B<Conn>
+=item B<Conn> I<ConnectionSpec>
 
 If the device cannot be auto-discovered, or more than one might be discovered
-by the driver, I<Conn> specifies the connection string to the device. It can
-be of the form of a serial port (I</dev/ttyUSB2>), or, in case of a non-serial
-USB-connected device, the USB VendorID/ProductID separated by a period
-(I<0403.6001>). A USB device can also be specified as bus.address
-(I<1.41>).
+by the driver, I<ConnectionSpec> specifies the connection string to the device.
+It can be of the form of a device path (e.g.E<nbsp>C</dev/ttyUSB2>), or, in
+case of a non-serial USB-connected device, the USB I<VendorID>B<.>I<ProductID>
+separated by a period (e.g.E<nbsp>C<0403.6001>). A USB device can also be
+specified as I<Bus>B<.>I<Address> (e.g.E<nbsp>C<1.41>).
 
-=item B<SerialComm>
+=item B<SerialComm> I<SerialSpec>
 
 For serial devices with non-standard port settings, this option can be used
-to specify them in the form I<9600/8n1>. This should not be necessary; drivers
-know how to communicate with devices they support.
+to specify them in a form understood by I<sigrok>, e.g.E<nbsp>C<9600/8n1>.
+This should not be necessary; drivers know how to communicate with devices they
+support.
 
-=item B<MinimumInterval>
+=item B<MinimumInterval> I<Seconds>
 
-Specifies the minimum time between measurement dispatches to collectd, in
-seconds. Since some sigrok-supported devices can acquire measurements many
+Specifies the minimum time between measurement dispatches to I<collectd>, in
+seconds. Since some I<sigrok> supported devices can acquire measurements many
 times per second, it may be necessary to throttle these. For example, the
-RRD plugin cannot process writes more than once per second.
+I<RRD plugin> cannot process writes more than once per second.
 
-The default MinimumInterval is 0, meaning measurements received from the
-device are always dispatched to collectd. When throttled, unused measurements
-are discarded.
+The default B<MinimumInterval> is B<0>, meaning measurements received from the
+device are always dispatched to I<collectd>. When throttled, unused
+measurements are discarded.
 
 =back
 
@@ -5221,6 +5266,55 @@ Since the configuration of the C<snmp plugin> is a little more complicated than
 other plugins, its documentation has been moved to an own manpage,
 L<collectd-snmp(5)>. Please see there for details.
 
+=head2 Plugin C<statsd>
+
+The I<statsd plugin> listens to a UDP socket, reads "events" in the statsd
+protocol and dispatches rates or other aggregates of these numbers
+periodically.
+
+The plugin implements the I<Counter>, I<Timer>, I<Gauge> and I<Set> types which
+are dispatched as the I<collectd> types C<derive>, C<latency>, C<gauge> and
+C<objects> respectively.
+
+The following configuration options are valid:
+
+=over 4
+
+=item B<Host> I<Host>
+
+Bind to the hostname / address I<Host>. By default, the plugin will bind to the
+"any" address, i.e. accept packets sent to any of the hosts addresses.
+
+=item B<Port> I<Port>
+
+UDP port to listen to. This can be either a service name or a port number.
+Defaults to C<8125>.
+
+=item B<DeleteCounters> B<false>|B<true>
+
+=item B<DeleteTimers> B<false>|B<true>
+
+=item B<DeleteGauges> B<false>|B<true>
+
+=item B<DeleteSets> B<false>|B<true>
+
+These options control what happens if metrics are not updated in an interval.
+If set to B<False>, the default, metrics are dispatched unchanged, i.e. the
+rate of counters and size of sets will be zero, timers report C<NaN> and gauges
+are unchanged. If set to B<True>, the such metrics are not dispatched and
+removed from the internal cache.
+
+=item B<TimerPercentile> I<Percent>
+
+Calculate and dispatch the configured percentile, i.e. compute the latency, so
+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).
+
+If not specified, no percentile is calculated / dispatched.
+
+=back
+
 =head2 Plugin C<swap>
 
 The I<Swap plugin> collects information about used and available swap space. On
@@ -6012,7 +6106,7 @@ Service name or port number to connect to. Defaults to C<2003>.
 
 =item B<Protocol> I<String>
 
-Protocol to use when connecting to I<Graphite>. Defaults to C<tcp>.
+Protocol to use when connecting to I<Graphite>. Defaults to C<udp>.
 
 =item B<LogSendErrors> B<false>|B<true>