RRDPYTHON(1) rrdtool RRDPYTHON(1) NNAAMMEE rrdpython - About the RRD Python bindings SSYYNNOOPPSSIISS import rrdtool rrdtool.create('/tmp/test.rrd', 'DS:foo:GAUGE:20:0:U') DDEESSCCRRIIPPTTIIOONN The rrrrddttooooll functions are directly callable via the Python programming language. This wrapper implementation has been written from the scratch (without SWIG) The API expects strings and/or a list of strings as parameters to the functions. Please refer to the other rrrrddttooooll documentation for functions and valid arguments. EEXXAAMMPPLLEESS EExxaammppllee 11 import sys sys.path.append('/path/to/rrdtool/lib/python2.6/site-packages/') import rrdtool, tempfile DAY = 86400 YEAR = 365 * DAY fd,path = tempfile.mkstemp('.png') rrdtool.graph(path, '--imgformat', 'PNG', '--width', '540', '--height', '100', '--start', "-%i" % YEAR, '--end', "-1", '--vertical-label', 'Downloads/Day', '--title', 'Annual downloads', '--lower-limit', '0', 'DEF:downloads=downloads.rrd:downloads:AVERAGE', 'AREA:downloads#990033:Downloads') info = rrdtool.info('downloads.rrd') print info['last_update'] print info['ds[downloads].minimal_heartbeat'] EExxaammppllee 22 import sys sys.path.append('/path/to/rrdtool/lib/python2.6/site-packages/') import rrdtool # in real life data_sources would be populated in loop or something similar data_sources=[ 'DS:speed1:COUNTER:600:U:U', 'DS:speed2:COUNTER:600:U:U', 'DS:speed3:COUNTER:600:U:U' ] rrdtool.create( 'speed.rrd', '--start', '920804400', data_sources, 'RRA:AVERAGE:0.5:1:24', 'RRA:AVERAGE:0.5:6:10' ) If you use the ssiittee--ppyytthhoonn--iinnssttaallll make target you can drop to first sys.path.append line since the RRDtool module will be available everywhere. If RRDtool runs into trouble, it will throw an exception which you might want to catch. SSEEEE AALLSSOO rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport, rrdinfo AAUUTTHHOORR Hye-Shik Chang Alan Milligan 1.8.0 2022-03-14 RRDPYTHON(1)