+rrdcgi - Create web pages containing RRD graphs based on templates
=head1 SYNOPSIS
-#!/path/to/B
-S<[B<--filter>]>
+C<#!/path/to/>B S<[B<--filter>]>
=head1 DESCRIPTION
@@ -17,16 +14,15 @@ ERRD:: tags. B will interpret and act according to these tags.
In the end it will printout a web page including the necessary CGI headers.
B parses the contents of the template in 3 steps. In each step it looks
-only for a subset of tags. This allows to nest tags.
+only for a subset of tags. This allows nesting of tags.
-The argument parser uses the same semantics as you are used from your c shell.
+The argument parser uses the same semantics as you are used from your C-shell.
=over 8
-
=item B<--filter>
-Assume that rrdcgi is being run as a filter and not as a cgi.
+Assume that rrdcgi is run as a filter and not as a cgi.
=back
@@ -42,13 +38,13 @@ Inserts the CGI variable of the given name.
Inserts the CGI variable of the given name but quotes it, ready for
use as an argument in another RRD:: tag. So even when there are spaces in the
-value of the CGI variable it will still be considered as one argument.
+value of the CGI variable it will still be considered to be one argument.
=item RRD::CV::PATH I
Inserts the CGI variable of the given name, quotes it and makes sure
-the it starts neither with a '/' nor contains '..'. This is to make
-sure that no problematic pathnames can be introduced through the
+it starts neither with a '/' nor contains '..'. This is to make
+sure that no problematic pathnames can be introduced through the
CGI interface.
=item RRD::GETENV I
@@ -58,18 +54,18 @@ Get the value of an environment variable.
might give you the name of the remote user given you are using
-some sort of access control on the directory
+some sort of access control on the directory.
=item RRD::GOODFOR I
Specify the number of seconds this page should remain valid. This will prompt
the rrdcgi to output a Last-Modified, an Expire and if the number of
-seconds is I a Refresh headers.
+seconds is I a Refresh header.
=item RRD::INCLUDE I
-Include the contents of the given file into the page returned from the cgi
+Include the contents of the specified file into the page returned from the cgi.
=item RRD::SETENV I I
@@ -83,21 +79,25 @@ values permitted to TZ depend on your OS.
=item RRD::SETVAR I I
-Analog to SETENV but for local variables
+Analog to SETENV but for local variables.
-=item RRD::GETVAR I
+=item RRD::GETVAR I
-Analog to GETENV but for local variables
+Analog to GETENV but for local variables.
=item RRD::TIME::LAST I I
This gets replaced by the last modification time of the selected RRD. The
-time is I-formated with the string specified in the second argument.
+time is I-formatted with the string specified in the second argument.
=item RRD::TIME::NOW I
-This gets replaced by the current time of day. The
-time is I-formated with the string specified in the argument.
+This gets replaced by the current time of day. The time is
+I-formatted with the string specified in the argument.
+
+Note that if you return : (colons) from your strftime format you may
+have to escape them using \ if the time is to be used as an argument
+to a GRAPH command.
=item RRD::TIME::STRFTIME I I I I
@@ -105,13 +105,17 @@ This gets replaced by a strftime-formatted time using the format
I on either I or I depending on
whether I or I is specified. Both I and I
must be supplied as either could be relative to the other. This is intended
-to allow pretty titles on graphs with times that are easier for non rrdtool
+to allow pretty titles on graphs with times that are easier for non RRDtool
folks to figure out than "-2weeks".
+Note that again, if you return : (colon) from your strftime format,
+you may have to escape them using \ if the time is to be used as an
+argument to a GRAPH command.
+
=item RRD::GRAPH I
-This tag creates the RRD graph defined in its argument and then gets
-replaced by an appropriate EIMG tag referring to the graph.
+This tag creates the RRD graph defined by its argument and then is
+replaced by an appropriate EIMG ... E tag referring to the graph.
The B<--lazy> option in RRD graph can be used to make sure that graphs
are only regenerated when they are out of date. The arguments
to the B tag work as described in the B manual page.
@@ -134,6 +138,12 @@ If the preceding B tag contained and B arguments,
then you can access their output with this tag. The I argument refers to the
number of the B argument. This first B has I 0.
+=item RRD::INTERNAL
+
+This tag gets replaced by an internal var. Currently these vars are known:
+VERSION, COMPILETIME.
+These vars represent the compiled-in values.
+
=back
=head1 EXAMPLE 1
@@ -156,9 +166,9 @@ The example below creates a web pages with a single RRD graph.
=head1 EXAMPLE 2
-This script is slightly more elaborate, it allows you to run it from
+This script is slightly more elaborate, it allows you to run it from
a form which sets RRD_NAME. RRD_NAME is then used to select which RRD
-you want to use a source for your graph.
+you want to use as source for your graph.
#!/usr/local/bin/rrdcgi
@@ -171,7 +181,7 @@ you want to use a source for your graph.
Graph
- .png --lazy
+ .png --lazy
--title "Temperatures for "
DEF:cel=.rrd:exhaust:AVERAGE
LINE2:cel#00a000:"D. Celsius">
@@ -183,7 +193,7 @@ you want to use a source for your graph.
=head1 EXAMPLE 3
This example shows how to handle the case where the RRD, graphs and
-cgi-bins are seperate directories
+cgi-bins are separate directories
#!/.../bin/rrdcgi
@@ -207,7 +217,7 @@ webserver/browser
=head1 AUTHOR
-Tobias Oetiker Eoetiker@ee.ethz.chE
+Tobias Oetiker Etobi@oetiker.chE