collectd-unixsock(5): Updated the paragraph about Collectd::Unixsock.
[collectd.git] / src / collectd-unixsock.pod
index 6875694..d82f9cb 100644 (file)
@@ -20,6 +20,9 @@ the daemon. This can be used to use the values collected by collectd in other
 applications, such as monitoring, or submit externally collected values to
 collectd.
 
+This plugin is used by L<collectd-nagios(1)> to check if some value is in a
+certain range and exit with a Nagios-compatible exit code.
+
 =head1 COMMANDS
 
 Upon start the C<unixsock plugin> opens a UNIX-socket and waits for
@@ -33,12 +36,12 @@ The following commands are implemented:
 =item B<GETVAL> I<Identifier>
 
 If the value identified by I<Identifier> (see below) is found the complete
-value-list is returned. The response is a space seperated list of
+value-list is returned. The response is a space separated list of
 name-value-pairs:
 
 I<num> I<name>B<=>I<value>[ I<name>B<=>I<value>[ ...]]
 
-If I<num> is less then zero, an error occured. Otherwise it contains the
+If I<num> is less then zero, an error occurred. Otherwise it contains the
 number of values that follow. Each value is of the form I<name>B<=>I<value>.
 Counter-values are converted to a rate, e.E<nbsp>g. bytes per second.
 Undefined values are returned as B<NaN>.
@@ -47,24 +50,77 @@ Example:
   -> | GETVAL myhost/cpu-0/cpu-user
   <- | 1 value=1.260000e+00
 
-=item B<PUTVAL> I<Identifier> I<Valuelist>
+=item B<LISTVAL>
+
+Returns a list of the values available in the value cache together with the
+time of the last update, so that querying applications can issue a B<GETVAL>
+command for the values that have changed.
 
-Submits a value (identified by I<Identifier>, see below) to the daemon which
-will dispatch it to all it's write-plugins. The I<Valuelist> is a
-colon-seperated list of values, either an integer if the data-source is a
-counter, of a double if the data-source if of type "gauge". You can submit an
-undefined gauge-value by using B<U>. When submitting B<U> to a counter the
-behavior is undefined.
+The first line's status number is the number of identifiers returned or less
+than zero if an error occurred. Each of the following lines contains the
+update time as an epoch value and the identifier, separated by a space.
 
 Example:
-  -> | PUTVAL testhost/interface/if_octets-test0 1179574444:123:456
+  -> | LISTVAL
+  <- | 69 Values found
+  <- | 1182204284 leeloo/cpu-0/cpu-idle
+  <- | 1182204284 leeloo/cpu-0/cpu-nice
+  <- | 1182204284 leeloo/cpu-0/cpu-system
+  <- | 1182204284 leeloo/cpu-0/cpu-user
+  ...
+
+=item B<PUTVAL> I<Identifier> [I<OptionList>] I<Valuelist>
+
+Submits one or more values (identified by I<Identifier>, see below) to the
+daemon which will dispatch it to all it's write-plugins.
+
+An I<Identifier> is of the form
+C<I<host>B</>I<plugin>B<->I<instance>B</>I<type>B<->I<instance>> with both
+I<instance>-parts being optional. If they're omitted the hyphen must be
+omitted, too. I<plugin> and each I<instance>-part may be chosen freely as long
+as the tuple (plugin, plugin instance, type instance) uniquely identifies the
+plugin within collectd. I<type> identifies the type and number of values
+(i.E<nbsp>e. data-set) passed to collectd. A large list of predefined
+data-sets is available in the B<types.db> file.
+
+The I<OptionList> is an optional list of I<Options>, where each option is a
+key-value-pair. A list of currently understood options can be found below, all
+other options will be ignored.
+
+I<Valuelist> is a colon-separated list of the time and the values, each either
+an integer if the data-source is a counter, or a double if the data-source is
+of type "gauge". You can submit an undefined gauge-value by using B<U>. When
+submitting B<U> to a counter the behavior is undefined. The time is given as
+epoch (i.E<nbsp>e. standard UNIX time).
+
+You can mix options and values, but the order is important: Options only
+effect following values, so specifying an option as last field is allowed, but
+useless. Also, an option applies to B<all> following values, so you don't need
+to re-set an option over and over again.
+
+The currently defined B<Options> are:
+
+=over 4
+
+=item B<interval=>I<seconds>
+
+Gives the interval in which the data identified by I<Identifier> is being
+collected.
+
+=back
+
+Please note that this is the same format as used in the B<exec plugin>, see
+L<collectd-exec(5)>.
+
+Example:
+  -> | PUTVAL testhost/interface/if_octets-test0 interval=10 1179574444:123:456
   <- | 0 Success
 
 =back
 
 =head2 Identifiers
 
-Value or value-lists are identified in a uniform fassion:
+Value or value-lists are identified in a uniform fashion:
 
 I<Hostname>/I<Plugin>/I<Type>
 
@@ -91,9 +147,21 @@ Commands that return values may use I<Num> to return the number of values that
 follow, such as the B<GETVAL> command. These commands usually return a negative
 value on failure and never return zero.
 
+=head1 ABSTRACTION LAYER
+
+B<collectd> ships the Perl-Module L<Collectd::Unixsock> which
+provides an abstraction layer over the actual socket connection. It can be
+found in the directory F<bindings/perl/> in the source distribution or
+(usually) somewhere near F</usr/share/perl5/> if you're using a package. If
+you want to use Perl to communicate with the daemon, you're encouraged to use
+and expand this module.
+
 =head1 SEE ALSO
 
-L<collectd(1)>, L<collectd.conf(5)>, L<unix(7)>
+L<collectd(1)>,
+L<collectd.conf(5)>,
+L<collectd-nagios(1)>,
+L<unix(7)>
 
 =head1 AUTHOR