X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd-exec.pod;h=81b3a2ecc07ecb11302b7ede4d2e26f87e72f0d8;hb=535d74438fc722d0ac1720103a289feb77ceb3ed;hp=fe2fd6303d4e3dc34eece8ca3201fedacc289840;hpb=f41b91ae32d98ee0fbbb96659c778e44218fee81;p=collectd.git diff --git a/src/collectd-exec.pod b/src/collectd-exec.pod index fe2fd630..81b3a2ec 100644 --- a/src/collectd-exec.pod +++ b/src/collectd-exec.pod @@ -55,21 +55,6 @@ run at once if multiple notifications are received. See L below for a description of the data passed to these programs. -=begin comment - -=item C - -The executable is treated as a Nagios plugin. That means that the first line -printed to C by this program is used as the text of a notification and -the severity of the notification depends on the exit status of the executable -only. - -For information on how to write Nagios plugins please refer to the Nagios -documentation. If a plugin works with Nagios but not with collectd please -complain on the collectd mailing list instead. - -=end comment - =back =head1 EXEC DATA FORMAT @@ -98,12 +83,13 @@ plugin within collectd. I identifies the type and number of values data-sets is available in the B file. See L for a description of the format of this file. -The I is an optional list of I, where each option if a +The I is an optional list of I, where each option is a key-value-pair. A list of currently understood options can be found below, all -other options will be ignored. +other options will be ignored. Values that contain spaces must be quoted with +double quotes. I is a colon-separated list of the time and the values, each either -an integer if the data-source is a counter, of a double if the data-source if +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. When submitting B to a counter the behavior is undefined. The time is given as epoch (i.Ee. standard UNIX time). @@ -154,10 +140,9 @@ Valid options are: =item BI (B) Sets the message of the notification. This is the message that will be made -accessible to the user, so it should contain some useful information. This -option must be the last option because the rest of the line will be its value, -even if there are spaces and equal-signs following it! This option is -mandatory. +accessible to the user, so it should contain some useful information. As with +all options: If the message includes spaces, it must be quoted with double +quotes. This option is mandatory. =item B|B|B (B) @@ -186,11 +171,13 @@ table. All the options are optional, but B without B or B without B doesn't make much sense and should be avoided. -Please note that this is the same format as used in the B, see -L. +=back =back +Please note that this is the same format as used in the B, see +L. + When collectd exits it sends a B to all still running child-processes upon which they have to quit. @@ -200,17 +187,19 @@ The notification executables receive values rather than providing them. In fact, after the program is started C is connected to C. The data is passed to the executables over C in a format very similar to -HTTP-headers: There is one line per field. Every line consists of a field name, -ended by a colon, and the associated value until end-of-line. The input is -ended by two newlines immediately following another. +HTTP: At first there is a "header" with one line per field. Every line consists +of a field name, ended by a colon, and the associated value until end-of-line. +The "header" is ended by two newlines immediately following another, +i.Ee. an empty line. The rest, basically the "body", is the message of +the notification. The following is an example notification passed to a program: Severity: FAILURE Time: 1200928930 Host: myhost.mydomain.org - Message: This is a test notification to demonstrate the format - + \n + This is a test notification to demonstrate the format The following header files are currently used. Please note, however, that you should ignore unknown header files to be as forward-compatible as possible. @@ -227,15 +216,54 @@ The time in epoch, i.Ee. as seconds since 1970-01-01 00:00:00 UTC. =item B -Name of the host concerned. +=item B -=item B +=item B -Message of the notification. This message should be made accessible to the -user somehow. +=item B + +=item B + +Identification of the performance data this notification is associated with. +All of these fields are optional because notifications do not B to be +associated with a certain value. =back +=head1 ENVIRONMENT + +The following environment variables are set by the plugin before calling +I: + +=over 4 + +=item COLLECTD_INTERVAL + +Value of the global interval setting. + +=item COLLECTD_HOSTNAME + +Hostname used by I to dispatch local values. + +=back + +=head1 USING NAGIOS PLUGINS + +Though the interface is far from perfect, there are tons of plugins for Nagios. +You can use these plugins with collectd by using a simple transition layer, +C, which is shipped with the collectd distribution in the +C directory. It is a simple Perl script that comes with embedded +documentation. To see it, run the following command: + + perldoc exec-nagios.px + +This script expects a configuration file, C. You can find an +example in the C directory, too. + +Even a simple mechanism to submit "performance data" to collectd is +implemented. If you need a more sophisticated setup, please rewrite the plugin +to make use of collectd's more powerful interface. + =head1 CAVEATS =over 4