RRDCREATE(1) rrdtool RRDCREATE(1) (NAME) rrdcreate - Round Robin Database (SYNOPSIS) rrdtool create filename [--start|-b start time] [--step|-s step] [--template|-t template-file] [--source|-r source-file] [--no-overwrite|-O] [--daemon|-d address] [DS:ds-name[=mapped-ds-name[[source-index]]]:DST:dst arguments] [RRA:CF:cf arguments] (DESCRIPTION) create RRDtool << >> (RRD) . *UNKNOWN* RRD << >> (pre-fill) RRD . filename RRD . RRD .rrd . RRDtool . --start|-b start time (: now - 10s) (1970-01-01 UTC) RRD . RRDtool . <> rrdfetch . RRD --start . RRD . --step|-s step (: 300 ) RRD . <> . --no-overwrite|-O . --daemon|-d address rrdcached. -l rrdcached . rrdtool create --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd I RRD step DS RRA . . (pre-filling) ( ). DS RRA . --source|-r source-file RRD . RRD . . RRD . << >> . DS RRA (consolidation functions) (resolution) . ( (stepping) RRD bin / RRA ). : . RRA DS . RRA Holt-Winters . : . << >> RRD DS RRA . DS . . RRD . (unknown) . DS . DS . RRA : AVERAGE MIN MAX LAST. COMPUTE . create tune create . DS:ds-name[=mapped-ds-name[[source-index]]]:DST:dst arguments RRD (DS) . DS RRD . ds-name RRD . ds-name [a-zA-Z0-9_] . DST (Data Source Type) . . GAUGE COUNTER DERIVE DCOUNTER DDERIVE ABSOLUTE : DS:ds-name:{GAUGE | COUNTER | DERIVE | DCOUNTER | DDERIVE | ABSOLUTE}:heartbeat:min:max COMPUTE : DS:ds-name:COMPUTE:rpn-expression . <> . GAUGE RedHat . COUNTER ifInOctets . COUNTER (overflow) . . . RRDtool . DCOUNTER COUNTER (double-precision) . . DCOUNTER . (non-undefined) (reset) . . DERIVE . . derive COUNTER . DERIVE MIN . DDERIVE DERIVE . COUNTER DERIVE Don Baarda (counter wrap) <> DERIVE min=0 . COUNTER max <> . step . DERIVE min=0 . max . ABSOLUTE . . . . COMPUTE RRD . (PDP) PDP rpn-expression . PDP COMPUTE ( rpn-expression PDP ). <<>> <<>> . heartbeat *UNKNOWN* . min max . min max *UNKNOWN* . min max U . min max DS . DS -COUNTER (data-rate) . / min max . RRDtool update . rpn-expression PDP COMPUTE . CDEF graph . RPN . COMPUTE RPN : COUNT PREV TIME LTIME. RPN COMPUTE create . CDEF DEF CDEF graph . RRD RRD DS DS . DS () . DS: DS:a=b[2]:GAUGE:120:0:U DS a DS b ( )..SS "RRA:CF:cf arguments" RRD (RRA) . (DS) RRA . RRD -s . (CF) . : AVERAGE MIN MAX LAST. AVERAGE . MIN . MAX . LAST . . . RRA : RRA:{AVERAGE | MIN | MAX | LAST}:xff:steps:rows xff xfiles *UNKNOWN* . PDP *UNKNOWN* PDP . 0 1 () . steps n . "STEP, HEARTBEAT, and Rows As Durations" . rows RRA . . "STEP, HEARTBEAT, and Rows As Durations" . - (Aberrant Behavior Detection with Holt-Winters Forecasting) RRDtool ( -) : o RRA:HWPREDICT:rows:alpha:beta:seasonal period[:rra-num] o RRA:MHWPREDICT:rows:alpha:beta:seasonal period[:rra-num] o RRA:SEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction] o RRA:DEVSEASONAL:seasonal period:gamma:rra-num[:smoothing-window=fraction] o RRA:DEVPREDICT:rows:rra-num o RRA:FAILURES:rows:threshold:window length:rra-num RRA . RRA . RRA . (real-time) SEASONAL DEVSEASONAL DEVPREDICT HWPREDICT MHWPREDICT . RRA SEASONAL RRA HWPREDICT MHWPREDICT . FAILURES DEVSEASONAL SEASONAL HWPREDICT MHWPREDICT . RRA HWPREDICT MHWPREDICT . HWPREDICT MHWPREDICT - . . : (baseline) (trend) . HWPREDICT MHWPREDICT . HWPREDICT MHWPREDICT . . HWPREDICT MHWPREDICT . DEVPREDICT ( ). RRA FAILURES . 1 () . RRA rrdgraph . RRA SEASONAL DEVSEASONAL - . . SEASONAL DEVSEASONAL . RRA HWPREDICT SEASONAL DEVPREDICT DEVSEASONAL FAILURES create RRDtool HWPREDICT rra-num . rows RRA . RRA . HWPREDICT rows seasonal period . RRA DEVPREDICT rows HWPREDICT . RRA FAILURES rows seasonal period RRA HWPREDICT . resize RRDtool RRA . seasonal period . SEASONAL DEVSEASONAL RRA HWPREDICT . seasonal period . alpha ( ) - . rrdtool . alpha 0 1 . 1 . 0 . beta ( ) - . beta 0 1 alpha . gamma - (HWPREDICT) . 0 1 . RRA SEASONAL DEVSEASONAL gamma : alpha HWPREDICT . ( ) . ( ) . RRA SEASONAL DEVSEASONAL gamma . gamma tune RRDtool . smoothing-window . smoothing-window 0.05 SEASONAL DEVSEASONAL (seasonal period*0.05) . smoothing-window (running-average) . rra-num RRA . HWPREDICT RRA . RRA . RRA RRA RRA . rra-num RRA ( create ). RRA RRA rra-num : o HWPREDICT rra-num RRA SEASONAL . o SEASONAL rra-num RRA HWPREDICT . o DEVPREDICT rra-num RRA DEVSEASONAL . o DEVSEASONAL rra-num RRA HWPREDICT . o FAILURES rra-num RRA DEVSEASONAL . threshold ( ) (failure) . RRA FAILURES 7 . window length . (threshold) 28 . . RRA FAILURES 9 ..SH "STEP HEARTBEAT (STEP, HEARTBEAT, and Rows As Durations)" RRDtool PDP PDP . : rrdtool create power.rrd \ --start now-2h --step 1 \ DS:watts:GAUGE:300:0:24000 \ RRA:AVERAGE:0.5:1:864000 \ RRA:AVERAGE:0.5:60:129600 \ RRA:AVERAGE:0.5:3600:13392 \ RRA:AVERAGE:0.5:86400:3660 (power) heartbeat ( ) RRA : . step heartbeat PDP (durations) . "rrd_scaled_duration" librrd : "s" () "m" () "h" () "d" () "w" () "M" () "y" (). step heartbeat ( ) (consolidation function) step . : rrdtool create power.rrd \ --start now-2h --step 1s \ DS:watts:GAUGE:5m:0:24000 \ RRA:AVERAGE:0.5:1s:10d \ RRA:AVERAGE:0.5:1m:90d \ RRA:AVERAGE:0.5:1h:18M \ RRA:AVERAGE:0.5:1d:10y HEARTBEAT STEP (The HEARTBEAT and the STEP) Don Baarda RRDtool . *UNKNOWN* : RRDtool / . "step" Primary Data Points ( PDP) . PDP RRA . "heartbeat" / . "heartbeat" . "heartbeat" "unknown" () . "unknown" . "step" PDP PDP . "unknown" "step" PDP "unknown" . "unknown" "step" PDP <<>> . "heartbeat" "step" PDP () () . "heartbeat" PDP PDP unknown . heartbeat "step" PDP . "step" "heartbeat" PDP . -- Don Baarda time| axis| begin__|00| |01| u|02|----* sample1, restart "hb"-timer u|03| / u|04| / u|05| / u|06|/ "hbt" expired u|07| |08|----* sample2, restart "hb" |09| / |10| / u|11|----* sample3, restart "hb" u|12| / u|13| / step1_u|14| / u|15|/ "swt" expired u|16| |17|----* sample4, restart "hb", create "pdp" for step1 = |18| / = unknown due to 10 "u" labeled secs > 0.5 * step |19| / |20| / |21|----* sample5, restart "hb" |22| / |23| / |24|----* sample6, restart "hb" |25| / |26| / |27|----* sample7, restart "hb" step2__|28| / |22| / |23|----* sample8, restart "hb", create "pdp" for step1, create "cdp" |24| / |25| / vladimir.lavrov@desy.de. (HOW TO MEASURE) : (Temperature) . . GAUGE . RRDtool . (Mail Messages) << >> . ABSOLUTE RRD . RRDtool . RRDtool . (Doubles) . (Its always a Rate) RRDtool COUNTER DERIVE DCOUNTER DDERIVE ABSOLUTE / . y / (delta-time) . RRDtool << >> . / (bar-plots) delta-time ( y x )..SH " (EXAMPLE)" rrdtool create temperature.rrd --step 300 \ DS:temp:GAUGE:600:-273:5000 \ RRA:AVERAGE:0.5:1:1200 \ RRA:MIN:0.5:12:2400 \ RRA:MAX:0.5:12:2400 \ RRA:AVERAGE:0.5:12:2400 RRD temperature.rrd . *UNKNOWN* . -273 5'000 . . (1'200 * 300 = ). RRA (12 * 300 = ) (2'400 ) . RRA . (EXAMPLE 2) rrdtool create monitor.rrd --step 300 \ DS:ifOutOctets:COUNTER:1800:0:125000000 \ RRA:AVERAGE:0.5:1:2016 \ RRA:HWPREDICT:1440:0.1:0.0035:288 (router interface) . RRA (octets) RRA RRA . rra-num HWPREDICT RRA . (baseline) ( ) . . ( ) . : (exponential smoothing) LISA 2000 . 1 Gbit/s . ( ) 0.1 . RRD (wrap around) (1'440 ) . ( ) 0-1 RRA FAILURES . RRD RRA RRA < HEARTBEAT >> . rrdtool create monitor.rrd --step 5m \ DS:ifOutOctets:COUNTER:30m:0:125000000 \ RRA:AVERAGE:0.5:1:2016 \ RRA:HWPREDICT:5d:0.1:0.0035:1d:3 \ RRA:SEASONAL:1d:0.1:2 \ RRA:DEVSEASONAL:1d:0.1:2 \ RRA:DEVPREDICT:5d:5 \ RRA:FAILURES:1d:7:9:5 . (EXAMPLE 3) rrdtool create proxy.rrd --step 300 \ DS:Requests:DERIVE:1800:0:U \ DS:Duration:DERIVE:1800:0:U \ DS:AvgReqDur:COMPUTE:Duration,Requests,0,EQ,1,Requests,IF,/ \ RRA:AVERAGE:0.5:1:2016 . : . DERIVE . RRD . . COMPUTE PDP AccumDuration PDP TotalRequests . RPN . (SECURITY) rrd umask 0644 . . (AUTHORS) Tobias Oetiker , Peter Stamfest 1.11.0 2026-08-08 RRDCREATE(1)