Python Forum

Full Version: python rrdtool graph creation issue
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi All,

trying with below sample code, however i am getting error while running display graph script.

Graph Creation
import sys
import rrdtool

ret = rrdtool.create("net.rrd", "--step", "300", "--start", '0',
 "DS:input:COUNTER:600:U:U",
 "DS:output:COUNTER:600:U:U",
 "RRA:AVERAGE:0.5:1:600",
 "RRA:AVERAGE:0.5:6:700",
 "RRA:AVERAGE:0.5:24:775",
 "RRA:AVERAGE:0.5:288:797",
 "RRA:MAX:0.5:1:600",
 "RRA:MAX:0.5:6:700",
 "RRA:MAX:0.5:24:775",
 "RRA:MAX:0.5:444:797")

if ret:
 print rrdtool.error()
Graph Updattion

import sys
import time
import rrdtool
from easysnmp import Session
from rrdtool import update as rrd_update
session = Session(hostname='172.21.160.2', community='read', version=2)
total_input_traffic = 0
total_output_traffic = 0

while 1:
   traffic_in = session.get('.1.3.6.1.2.1.31.1.1.1.6.10111')
   in_traffic = traffic_in.value
   #print in_traffic
   traffic_out = session.get('.1.3.6.1.2.1.31.1.1.1.10.10111')
   out_traffic = traffic_out.value
   #print out_traffic
   #ret = rrdtool.update('net.rrd','N:in_traffic:out_traffic')
   ret = rrd_update('net.rrd', 'N:%s:%s' %(str(in_traffic),str(out_traffic)))
   if ret:
      print rrdtool.error()
   time.sleep(300)
Graph Dispay
import sys
import rrdtool

ret = rrdtool.graph("net.png", "--start", "-1d", "--vertical-label=Bytes/s",
 "DEF:inoctets=test1.rrd:input:AVERAGE",
 "DEF:outoctets=test1.rrd:output:AVERAGE",
 "AREA:inoctets#00FF00:In traffic",
 "LINE1:outoctets#0000FF:Out traffic\r",
 "CDEF:inbits=inoctets,8,*",
 "CDEF:outbits=outoctets,8,*",
 "COMMENT:\n",
 "GPRINT:inbits:AVERAGE:Avg In traffic: %6.2lf %Sbps",
 "COMMENT:  ",
 "GPRINT:inbits:MAX:Max In traffic: %6.2lf %Sbps\r",
 "GPRINT:outbits:AVERAGE:Avg Out traffic: %6.2lf %Sbps",
 "COMMENT: ",
 "GPRINT:outbits:MAX:Max Out traffic: %6.2lf %Sbps\r")
Error:
Traceback (most recent call last): File "displaygraph.py", line 17, in <module> "GPRINT:outbits:MAX:Max Out traffic: %6.2lf %Sbps\r") rrdtool.error: I don't understand ': %6.2lf %Sbps' in command: 'GPRINT:inbits:AVERAGE:Avg In traffic: %6.2lf %Sbps'.

Display graph script, changed with created rrd, same error in Python2.7 and Python 3.6



import sys
import rrdtool
 
ret = rrdtool.graph("net.png", "--start", "-1d", "--vertical-label=Bytes/s",
 "DEF:inoctets=net.rrd:input:AVERAGE",
 "DEF:outoctets=net.rrd:output:AVERAGE",
 "AREA:inoctets#00FF00:In traffic",
 "LINE1:outoctets#0000FF:Out traffic\r",
 "CDEF:inbits=inoctets,8,*",
 "CDEF:outbits=outoctets,8,*",
 "COMMENT:\n",
 "GPRINT:inbits:AVERAGE:Avg In traffic: %6.2lf %Sbps",
 "COMMENT:  ",
 "GPRINT:inbits:MAX:Max In traffic: %6.2lf %Sbps\r",
 "GPRINT:outbits:AVERAGE:Avg Out traffic: %6.2lf %Sbps",
 "COMMENT: ",
 "GPRINT:outbits:MAX:Max Out traffic: %6.2lf %Sbps\r")