RRDXPORT(1) rrdtool RRDXPORT(1)
NNAAMMEE
rrdxport - Export data in XML format based on data from one or several
RRD
SSYYNNOOPPSSIISS
rrrrddttooooll xxppoorrtt [--ss|----ssttaarrtt _s_e_c_o_n_d_s] [--ee|----eenndd _s_e_c_o_n_d_s]
[--mm|----mmaaxxrroowwss _r_o_w_s] [----sstteepp _v_a_l_u_e] [----jjssoonn] [--tt|----sshhoowwttiimmee] [----eennuummddss]
[----ddaaeemmoonn|--dd _a_d_d_r_e_s_s] [DDEEFF::_v_n_a_m_e==_r_r_d::_d_s_-_n_a_m_e::_C_F] [CCDDEEFF::_v_n_a_m_e==_r_p_n_-
_e_x_p_r_e_s_s_i_o_n] [XXPPOORRTT::_v_n_a_m_e[::_l_e_g_e_n_d]]
DDEESSCCRRIIPPTTIIOONN
The xxppoorrtt function's main purpose is to write an XML formatted
representation of the data stored in one or several RRRRDDs. It can also
extract numerical reports.
If no _X_P_O_R_T statements are found, there will be no output.
--ss|----ssttaarrtt _s_e_c_o_n_d_s (default end-1day)
The time when the exported range should begin. Time in seconds
since epoch (1970-01-01) is required. Negative numbers are relative
to the current time. By default one day worth of data will be
printed. See also "AT-STYLE TIME SPECIFICATION" in rrdfetch for a
detailed explanation on how to specify time.
See "OUTPUT FORMAT" below for details on how this affects the
output.
--ee|----eenndd _s_e_c_o_n_d_s (default now)
The time when the exported range should end. Time in seconds since
epoch. See also "AT-STYLE TIME SPECIFICATION" in rrdfetch for a
detailed explanation on how to specify time.
See "OUTPUT FORMAT" below for details on how this affects the
output.
--mm|----mmaaxxrroowwss _r_o_w_s (default 400 rows)
This works like the --ww|----wwiiddtthh parameter of _r_r_d_g_r_a_p_h. In fact it
is exactly the same, but the parameter was renamed to describe its
purpose in this module. See _r_r_d_g_r_a_p_h documentation for details.
----sstteepp _v_a_l_u_e (default automatic)
See rrdgraph documentation.
----ddaaeemmoonn|--dd _a_d_d_r_e_s_s
Address of the rrdcached daemon. If specified, a "flush" command is
sent to the server before reading the RRD files. This allows
rrrrddttooooll to return fresh data even if the daemon is configured to
cache values for a long time. For a list of accepted formats, see
the --ll option in the rrdcached manual.
rrdtool xport --daemon unix:/var/run/rrdcached.sock ...
--tt|----sshhoowwttiimmee
include the time into each data row.
----jjssoonn
produce json formatted output (instead of xml)
----eennuummddss
The generated xml should contain the data values in enumerated
tags.
valval
DDEEFF::_v_n_a_m_e==_r_r_d::_d_s_-_n_a_m_e::_C_F
See _r_r_d_g_r_a_p_h documentation.
CCDDEEFF::_v_n_a_m_e==_r_p_n_-_e_x_p_r_e_s_s_i_o_n
See _r_r_d_g_r_a_p_h documentation.
XXPPOORRTT::_v_n_a_m_e[::_l_e_g_e_n_d]
At least one _X_P_O_R_T statement should be present. The values
referenced by _v_n_a_m_e are printed. Optionally add a legend.
OOUUTTPPUUTT FFOORRMMAATT
The output is enclosed in an xxppoorrtt element and contains two blocks. The
first block is enclosed by a mmeettaa element and contains some meta data.
The second block is enclosed by a ddaattaa element and contains the data
rows.
Let's assume that the _x_p_o_r_t command looks like this:
rrdtool xport \
--start now-1h --end now \
DEF:xx=host-inout.lo.rrd:output:AVERAGE \
DEF:yy=host-inout.lo.rrd:input:AVERAGE \
CDEF:aa=xx,yy,+,8,* \
XPORT:xx:"out bytes" \
XPORT:aa:"in and out bits"
The resulting meta data section is (the values will depend on the RRD
characteristics):
1020611700
300
1020615600
14
2
The resulting data section is:
10206117003.4000000000e+005.4400000000e+01
10206120003.4000000000e+005.4400000000e+01
10206123003.4000000000e+005.4400000000e+01
10206126003.4113333333e+005.4581333333e+01
10206129003.4000000000e+005.4400000000e+01
10206132003.4000000000e+005.4400000000e+01
10206135003.4000000000e+005.4400000000e+01
10206138003.4000000000e+005.4400000000e+01
10206141003.4000000000e+005.4400000000e+01
10206144003.4000000000e+005.4400000000e+01
10206147003.7333333333e+005.9733333333e+01
10206150003.4000000000e+005.4400000000e+01
10206153003.4000000000e+005.4400000000e+01
1020615600NaNNaN
All the statistics in the output will use the same step. The first
sample will be the first sample starting immediately after ----ssttaarrtt. The
last sample will be the one ending at or immediately after ----eenndd.
Each sample has a timestamp and one or more values. The timestamps
associated with a value in RRDtool ALWAYS represent the time the sample
was taken. Since any value you sample will represent some sort of past
state your sampling apparatus has gathered, the timestamp will always
be at the end of the sampling period.
RRDtool does not store the actual samples, but does internal resampling
of the values presented to it. Nevertheless when a data value is
presented with a single timestamp the timestamp is at the end of the
period the value represents. Note that the timestamp itself is outside
the period the sample is valid for. For more details about this, see
PDP calculation explanation.
So the time range for a sample with a timestamp is actually from
"timestamp - step" inclusive to "timestamp" exclusive.
The first line of the sample output:
10206117003.4000000000e+005.4400000000e+01
therefore means that the values for the interval 1020611400 to
1020611699 were 3.4 and 54.4 for "out bytes" and "in and out bits"
respectively, because the value was taken at 1020611700.
EEXXAAMMPPLLEE 11
rrdtool xport \
DEF:out=if1-inouts.rrd:outoctets:AVERAGE \
XPORT:out:"out bytes"
EEXXAAMMPPLLEE 22
rrdtool xport \
DEF:out1=if1-inouts.rrd:outoctets:AVERAGE \
DEF:out2=if2-inouts.rrd:outoctets:AVERAGE \
CDEF:sum=out1,out2,+ \
XPORT:out1:"if1 out bytes" \
XPORT:out2:"if2 out bytes" \
XPORT:sum:"output sum"
EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
The following environment variables may be used to change the behavior
of "rrdtool xport":
RRRRDDCCAACCHHEEDD__AADDDDRREESSSS
If this environment variable is set it will have the same effect as
specifying the "--daemon" option on the command line. If both are
present, the command line argument takes precedence.
AAUUTTHHOORR
Tobias Oetiker
1.7.2 2019-05-27 RRDXPORT(1)