RRDINFO(1)

πŸ’… RRDINFO πŸ’…

okay so bestie, this is rrdinfo, page 1 of the rrdtool manual set, and it is literally the "just tell me what's in this file" page. no drama, no updating, just vibes and header info. πŸŽ€


✨ NAME ✨

rrdinfo β€” extract header information from an RRD πŸ¦‹


✨ SYNOPSIS ✨

rrdtool info filename [--daemon|-d address [--noflush|-F]]

periodt, that's the whole thing.


✨ DESCRIPTION ✨

the info function prints the header information from an RRD in a parsing friendly format. it's giving "structured data, no nonsense, machine-readable slay". πŸ”₯

not sure what any of those keys actually mean, bestie? go check rrdcreate β€” that's where all the individual keys get explained. iykyk. πŸ“–

🌸 the arguments 🌸

  • filename β€” the name of the RRD you want to examine. that's it, that's the whole job. your little file of destiny. πŸ’–
  • --daemon, -d address β€” address of the rrdcached daemon. if you specify it, a "flush" command is sent to the server before reading the RRD files. why do we care? because this lets rrdtool return fresh data even if the daemon is configured to cache values for a long, long time. 😭 for a list of accepted formats, see the -l option in the rrdcached manual. like this:
rrdtool info --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
  • --noflush, -F β€” omit the "flush" command that usually gets sent to the daemon prior to retrieving the data. if all you're interested in is the RRD structure, and not the last update time or current values, then this will improve efficiency. highkey a little efficiency hack, we love her. ⭐

✨ EXAMPLE ✨

here's the output you get from running info on a simple RRD containing two data sources and one RRA. πŸ‘‘

quick notes before you read it, bestie:

  • the number after the last_update keyword is in seconds since 1970. time is a construct.
  • the string NaN stands for UNKNOWN data. in this example it means this RRD has neither minimum nor maximum values defined for either of its data sources. it's giving "no limits, no boundaries". πŸ¦‹
filename = "random.rrd"
rrd_version = "0001"
step = 300
last_update = 955892996
header_size = 2872
ds[a].type = "GAUGE"
ds[a].minimal_heartbeat = 600
ds[a].min = NaN
ds[a].max = NaN
ds[a].last_ds = "UNKN"
ds[a].value = 2.1824421548e+04
ds[a].unknown_sec = 0
ds[b].type = "GAUGE"
ds[b].minimal_heartbeat = 600
ds[b].min = NaN
ds[b].max = NaN
ds[b].last_ds = "UNKN"
ds[b].value = 3.9620838224e+03
ds[b].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].pdp_per_row = 1
rra[0].cdp_prep[0].value = nan
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = nan
rra[0].cdp_prep[1].unknown_datapoints = 0

look at all those little keys, so organized, so tidy, we stan a structured dump. πŸ’…βœ¨


✨ ENVIRONMENT VARIABLES ✨

the following environment variables may be used to change the behavior of "rrdtool info":

  • RRDCACHED_ADDRESS β€” if this environment variable is set it will have the same effect as specifying the "--daemon" option on the command line. and if both are present? the command line argument takes precedence. command line stays the main character, as she should. πŸ‘‘πŸ’–

✨ AUTHOR ✨

Tobias Oetiker <tobi@oetiker.ch> β€” the icon, the legend, the moment. 🫢


and that's the whole page bestie, no cap. this one's from rrdtool version 1.11.0, dated 2026-10-17 β€” screenshot it, cite it, love it. πŸŒˆπŸ’œβœ¨

πŸ“¦ where this page comes from