Errors after importing an template

Post general support questions here that do not specifically fall into the Linux or Windows categories.

Moderators: Developers, Moderators

Post Reply
User avatar
Ancalagon
Posts: 15
Joined: Wed Mar 14, 2007 9:44 am
Location: Germany

Errors after importing an template

Post by Ancalagon »

Hi @all,

I imported this template: http://forums.cacti.net/about27730.html

As a result, first my SNMP - Interface Statistics Data Query was messed up (was missing the <> around "cacti_path"). This was a easy one to correct.

But second, my interface traffic graphs are fubar. I get a "RPN final stack size != 1" error. CDEF's perhaps? But I can't find the broken CDEF! Please help...

Regards
Anca


Here's the complete output:
RRDTool Command:

/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start=-86400 \
--end=-300 \
--title="AMUG01 - Traffic - fe.1.48 - Uplink_zu_Core_Rathaus" \
--rigid \
--base=1000 \
--height=120 \
--width=700 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="bits per second" \
--slope-mode \
DEF:a="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_in:AVERAGE \
DEF:b="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_in:LAST \
DEF:c="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_in:MIN \
DEF:d="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_in:MAX \
DEF:e="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_out:AVERAGE \
DEF:f="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_out:LAST \
DEF:g="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_out:MIN \
DEF:h="/var/www/html/cacti/rra/amug01_traffic_in_443.rrd":traffic_out:MAX \
CDEF:cdefa=a,8,* \
CDEF:cdefb=b,8,* \
CDEF:cdefc=b,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
CDEF:cdefe=a,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
CDEF:cdeff=d,8,* \
CDEF:cdefg=d,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
CDEF:cdefh=e,8,* \
CDEF:cdefi=f,8,* \
CDEF:cdefj=f,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
CDEF:cdefbb=e,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
CDEF:cdefbc=h,8,* \
CDEF:cdefbd=h,a,b,+,100000000,/,100,*,8,*,10,LE,a,b,+,100000000,/,100,*,8,*,0,GT,NEGINF,UNKN,IF,UNKN,IF,8,100,*,*,100000000,/ \
AREA:cdefa#00CF00FF:"Inbound " \
GPRINT:cdefb:LAST:"Current\:%8.2lf %s" \
GPRINT:cdefc:LAST:"(%5.2lf %%)" \
GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:cdefe:AVERAGE:"(%5.2lf %%)" \
GPRINT:cdeff:MAX:"Maximum\:%8.2lf %s" \
GPRINT:cdefg:MAX:"(%5.2lf %%)\n" \
LINE1:cdefh#4444FFFF:"Outbound " \
GPRINT:cdefi:LAST:"Current\:%8.2lf %s" \
GPRINT:cdefj:LAST:"(%5.2lf %%)" \
GPRINT:cdefh:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:cdefbb:AVERAGE:"(%5.2lf %%)" \
GPRINT:cdefbc:MAX:"Maximum\:%8.2lf %s" \
GPRINT:cdefbd:MAX:"(%5.2lf %%)\n" \
VRULE:1227222000#000000FF:"" \
VRULE:1227265200#000000FF:"" \
HRULE:100000000#FF0000FF:"" \
COMMENT:"Interface Speed\: 100000000 bits/sec"

RRDTool Says:

ERROR: RPN final stack size != 1
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Woah. Please strip down the cdef's one by one and run the remaining command from cli to find the bad cdef
Reinhard
User avatar
Ancalagon
Posts: 15
Joined: Wed Mar 14, 2007 9:44 am
Location: Germany

Post by Ancalagon »

Done that, found it!

It was this "Bandwidth Percentage" cdef. Dunno what was broken, replaced it by another "bandwidth"- cdef out of the forum - and it worked again. pheeewww...

Thx, m8.


Note to self: I really, really, REALLY need a testing-system! Now!

...and the cacti template-import-routine really needs a "are u sure u want to overwrite your precious cdefs with this untested gimmick from an insecure source?" with the answering-options "No" and "Hell, no!" :wink:
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Ancalagon wrote:...and the cacti template-import-routine really needs a "are u sure u want to overwrite your precious cdefs with this untested gimmick from an insecure source?" with the answering-options "No" and "Hell, no!" :wink:
Wow. Now that we removed the ugly "rra override" default, the next one pops up. This will result in asking for each and every step (do you want to override the Data Template, the Graph Template, the CDEF, ...).
What does this question help? You won't know what the heck is going on there. So you will either say YES or NO without knowing what is really going on.
Reinhard
User avatar
Ancalagon
Posts: 15
Joined: Wed Mar 14, 2007 9:44 am
Location: Germany

Post by Ancalagon »

gandalf wrote:This will result in asking for each and every step (do you want to override the Data Template, the Graph Template, the CDEF, ...).
What does this question help? You won't know what the heck is going on there. So you will either say YES or NO without knowing what is really going on.
I see a difference between "create" and "override". In my eyes an import must be allowed to create everything it wants without asking - but an override should to be acknowledged by the user (yes - yes to all - no - no to all). Or: parse the xml, create a list of to-be-imported objects (with "update"-flag) and a check box for importing on each object. Unchecked items would be ignored. This way the user has a chance to prevent importing a "xml-of-doom" which leaves half of his installation fubar.

Ok, ok - thats the old thing between Windows- and Unix/Linux - Users. Windows is like "woah! my stupid user must be kidding - I better ask back" and Linux is "My user is god! God makes no mistakes or even typos! When he wants to destroy everything, here we go..." :wink:

Just my $0,02
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Ancalagon wrote:I see a difference between "create" and "override". In my eyes an import must be allowed to create everything it wants without asking - but an override should to be acknowledged by the user (yes - yes to all - no - no to all). Or: parse the xml, create a list of to-be-imported objects (with "update"-flag) and a check box for importing on each object. Unchecked items would be ignored. This way the user has a chance to prevent importing a "xml-of-doom" which leaves half of his installation fubar.
That makes sense. Please post a feature request as given by http://www.cacti.net/bugs.php
Reinhard
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest