rrdtool RDCGI(1)
NAME
rrdcgi - Create web pages containing RD graphs based on
templates
SYNOPSIS
"#!/path/to/"rrdcgi [--filter]
DESCRIPTION
rrdcgi is a sort of very limited script interpreter. Its
purpose is to run as a cgi-program and parse a web page
template containing special
might give you the name of the remote user given you
are using some sort of access control on the
1.3.5 Last change: 2008-03-15 1
rrdtool RDCGI(1)
directory.
RD::GODFOR seconds
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 negative a Refresh header.
RD::INCLUDE filename
Include the contents of the specified file into the
page returned from the cgi.
RD::SETENV variable value
If you want to present your graphs in another time
zone than your own, you could use
to make sure everything is presented in Universal
Time. Note that the values permitted to TZ depend on
your OS.
RD::SETVAR variable value
Analog to SETENV but for local variables.
RD::GETVAR variable
Analog to GETENV but for local variables.
RD::TIME::LAST rrd-file strftime-format
This gets replaced by the last modification time of
the selected RD. The time is strftime-formatted
with the string specified in the second argument.
RD::TIME::NOW strftime-format
This gets replaced by the current time of day. The
time is strftime-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.
RD::TIME::STRFTIME STARTEND start-spec end-spec strftime-
format
This gets replaced by a strftime-formatted time
using the format strftime-format on either start-
spec or end-spec depending on whether START or END
is specified. Both start-spec and end-spec 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 RDtool folks to
1.3.5 Last change: 2008-03-15 2
rrdtool RDCGI(1)
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.
RD::GRAPH rrdgraph arguments
This tag creates the RD graph defined by its
argument and then is replaced by an appropriate tag referring to the graph. The --lazy option
in RD graph can be used to make sure that graphs
are only regenerated when they are out of date. The
arguments to the RD::GRAPH tag work as described in
the rrdgraph manual page.
Use the --lazy option in your RD::GRAPH tags, to
reduce the load on your server. This option makes
sure that graphs are only regenerated when the old
ones are out of date.
If you do not specify your own --imginfo format, the
following will be used:
Note that %s stands for the filename part of the
graph generated, all directories given in the PNG
file argument will get dropped.
RD::PRINT number
If the preceding RD::GRAPH tag contained and PRINT
arguments, then you can access their output with
this tag. The number argument refers to the number
of the PRINT argument. This first PRINT has number
0.
RD::INTERNAL
This tag gets replaced by an internal var. Currently
these vars are known: VERSION, COMPILETIME. These
vars represent the compiled-in values.
EXAMPLE 1
The example below creates a web pages with a single RD
graph.
1.3.5 Last change: 2008-03-15 3
rrdtool RDCGI(1)
#!/usr/local/bin/rrdcgi
RDCGI Demo
RDCGI Example Page
EXAMPLE 2
This script is slightly more elaborate, it allows you to run
it from a form which sets RDNAME. RDNAME is then used to
select which RD you want to use as source for your graph.
#!/usr/local/bin/rrdcgi
RDCGI Demo
RDCGI Example Page for
Selection
Graph
.png --lazy
--title "Temperatures for "
DEF:cel=.rrd:exhaust:AVERAGE
LINE2:cel#00a000:"D. Celsius">
EXAMPLE 3
This example shows how to handle the case where the RD,
graphs and cgi-bins are seperate directories
1.3.5 Last change: 2008-03-15 4
rrdtool RDCGI(1)
#!/.../bin/rrdcgi
RDCGI Demo
RDCGI test Page
--lazy --start -1d --end now
DEF:httpsrc=/.../rrds/test.rrd:httpsrc:AVERAGE
AREA:httpsrc#00ff00:httpsrc
>
Note 1: Replace /.../ with the relevant directories
Note 2: The SRC=/.../pngs should be paths from the view of
the webserver/browser
AUTHOR
Tobias Oetiker
1.3.5 Last change: 2008-03-15 5
|