Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RRDGRAPH_DATA(1)		    rrdtool		      RRDGRAPH_DATA(1)

NAME
       rrdgraph_data - preparing data for graphing in rrdtool graph

SYNOPSIS
       DEF:<vname>=<rrdfile>:<ds-name>:<CF>[:step=<step>][:start=<time>][:end=<time>][:reduce=<CF>][:daemon=<address>]

       VDEF:vname=RPN expression

       CDEF:vname=RPN expression

DESCRIPTION
       These three instructions	extract	data values out	of the RRD files,
       optionally altering them	(think,	for example, of	a bytes	to bits
       conversion). If so desired, you can also	define variables containing
       useful information such as maximum, minimum etcetera. Two of the
       instructions use	a language called RPN which is described in its	own
       manual page.

       Variable	names (vname) must be made up strings of the following
       characters "A-Z,	a-z, 0-9, _, -"	and a maximum length of	255
       characters.

       When picking variable names, make sure you do not choose	a name that is
       already taken by	an RPN operator. A safe	bet is to use lowercase	or
       mixed case names	for variables since operators will always be in
       uppercase.

DEF
       DEF:<vname>=<rrdfile>:<ds-name>:<CF>[:step=<step>][:start=<time>][:end=<time>][:reduce=<CF>][:daemon=<address>]

       This command fetches data from an RRD file.  The	virtual	name vname can
       then be used throughout the rest	of the script. By default, an RRA
       which contains the correct consolidated data at an appropriate
       resolution will be chosen.  The resolution can be overridden with the
       --step option.  The resolution can again	be overridden by specifying
       the step	size.  The time	span of	this data is the same as for the graph
       by default, you can override this by specifying start and end.
       Remember	to escape colons in the	time specification!

       If the resolution of the	data is	higher than the	resolution of the
       graph, the data will be further consolidated. This may result in	a
       graph that spans	slightly more time than	requested.  Ideally each point
       in the graph should correspond with one CDP from	an RRA.	 For instance,
       if your RRD has an RRA with a resolution	of 1800	seconds	per CDP, you
       should create an	image with width 400 and time span 400*1800 seconds
       (use appropriate	start and end times, such as "--start
       end-8days8hours").

       If consolidation	needs to be done, the CF of the	RRA specified in the
       DEF itself will be used to reduce the data density. This	behavior can
       be changed using	":reduce=<CF>".	 This optional parameter specifies the
       CF to use during	the data reduction phase.

       It is possible to request single	data sources from a specific
       RRDCacheD, see rrdcached, using the ":daemon=<address>" parameter. The
       value given to this parameter follows the same syntax as	other means to
       specify the address of the caching daemon. It is	described in detail in
       rrdcached. Beware, however, that	colons (in IPv6	addresses and as a
       port separator, for example) need to be escaped using a backslash.

       Example:

	       DEF:ds0=router.rrd:ds0:AVERAGE
	       DEF:ds0weekly=router.rrd:ds0:AVERAGE:step=7200
	       DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=end-1h
	       DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=11\:00:end=start+1h
	       DEF:ds0weekly=router.rrd:ds0:AVERAGE:daemon=collect1.example.com

VDEF
       VDEF:vname=RPN expression

       This command returns a value and/or a time according to the RPN
       statements used.	The resulting vname will, depending on the functions
       used, have a value and a	time component.	 When you use this vname in
       another RPN expression, you are effectively inserting its value just as
       if you had put a	number at that place.  The variable can	also be	used
       in the various graph and	print elements.

       Example:	"VDEF:avg=mydata,AVERAGE"

       Note that currently only	aggregation functions work in VDEF rpn
       expressions.  Patches to	change this are	welcome.

CDEF
       CDEF:vname=RPN expression

       This command creates a new set of data points (in memory	only, not in
       the RRD file) out of one	or more	other data series. The RPN
       instructions are	used to	evaluate a mathematical	function on each data
       point. The resulting vname can then be used further on in the script,
       just as if it were generated by a DEF instruction.

       Example:	"CDEF:mydatabits=mydata,8,*"

About CDEF versus VDEF
       At some point in	processing, RRDtool has	gathered an array of rates
       ready to	display.

       CDEF works on such an array.  For example, CDEF:new=ds0,8,* would
       multiply	each of	the array members by eight (probably transforming
       bytes into bits). The result is an array	containing the new values.

       VDEF also works on such an array	but in a different way.	 For example,
       VDEF:max=ds0,MAXIMUM would scan each of the array members and store the
       maximum value.

   When	do you use VDEF	versus CDEF?
       Use CDEF	to transform your data prior to	graphing.  In the above
       example,	we'd use a CDEF	to transform bytes to bits before graphing the
       bits.

       You use a VDEF if you want max(1,5,3,2,4) to return five	which would be
       displayed in the	graph's	legend (to answer, what	was the	maximum	value
       during the graph	period).

       If you want to apply 'complex' operations to the	result of a VDEF you
       have to use a CDEF again	since VDEFs only look like RPN expressions,
       they aren't really.

SEE ALSO
       rrdgraph	gives an overview of how rrdtool graph works.  rrdgraph_data
       describes DEF,CDEF and VDEF in detail.  rrdgraph_rpn describes the RPN
       language	used in	the ?DEF statements.  rrdgraph_graph page describes
       all of the graph	and print functions.

       Make sure to read rrdgraph_examples for tips&tricks.

AUTHOR
       Program by Tobias Oetiker <tobi@oetiker.ch>

       This manual page	by Alex	van den	Bogaerdt <alex@vandenbogaerdt.nl> with
       corrections and/or additions by several people

1.9.0				  2024-07-29		      RRDGRAPH_DATA(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rrdgraph_data&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help