[mrtg] routers2 cgi

Andy Nieberding nieberad at dncm.net
Wed Dec 23 16:35:33 CET 2009


Steve and Tobi,
 
This is rather odd.  I have upgraded to 2.16, but yet it still passes the $ARGV[0] parameter in lower case letters.  Is there somewhere in a config file or script that I can modify how it pulls this data?  Thanks for the template links.
 
Andy

________________________________

From: Steve Shipway [mailto:s.shipway at auckland.ac.nz]
Sent: Tue 12/22/2009 3:46 PM
To: Andy Nieberding
Subject: RE: routers2 cgi



2.14 is fairly old, it would be good to go up to 2.16 as you'll get a lot of bug fixes and an improved Threshold interface (it passes 5 parameters in 2.16).  Should be a straight replacement.  You'll also get the latest cfgmaker which has much better template support and will be able to use all the cfgmaker templates in the library at http://www.steveshipway.org/cfgmaker

Steve

________________________________________
From: Andy Nieberding [nieberad at dncm.net]
Sent: Wednesday, 23 December 2009 9:32 a.m.
To: Steve Shipway
Subject: RE: routers2 cgi

Thanks for the quick response.  I'm currently using 2.14.5-2.  I'll definitely try to upgrade first, and if that doesnt help, I'll post the query.  Thanks for the workaround!

Andy

________________________________

From: Steve Shipway [mailto:s.shipway at auckland.ac.nz]
Sent: Tue 12/22/2009 2:25 PM
To: Andy Nieberding
Subject: RE: routers2 cgi



Can you tell me which version of MRTG you are using?

This sounds like it may be a bug - the parameter passed should be the MRTG Target name, which would be capitalised in the file (and relates to the created PNG files and so on).  However it sounds as if what you are getting is in fact the RRD file name stub (which is always lower cased and has certain punctuation characters removed).  This may well be a bug in MRTG that we need to let Tobi know of.

If you've not yet upgraded to MRTG 2.16.2 (the latest) then try that first; Tobi has fixed many small bugs over the years and this may have been fixed already.  If you're already on 2.16.2 then post a query on the MRTG mailing list (mrtg at lists.oetiker.ch) which Tobi reads regularly and hopefully there should be a response.

As a workaround, your could use the
SetEnv[XxXx]: MRTG_TARGET="XxXx"
directive to set a standard environment variable separately for your script to refer to, although the first parameter is supposed to be the target name unmodified.

As a side note, I've never really liked the Thresholding action script interface; the passed parameters are too few and miss out key pieces of information or have them in owkward format.  Probably more standard environment variables should be set; this also applies to data collection plugins which have no additional environment set either.  However, at least later versions of MRTG (2.16.x) pass sufficient parameters to the script to get most of what you need.

Steve

________________________________________
From: Andy Nieberding [nieberad at dncm.net]
Sent: Wednesday, 23 December 2009 3:28 a.m.
To: steve at steveshipway.org
Cc: Steve Shipway
Subject: routers2 cgi

Steve,

I first would like to say that your routers cgi script rocks!  It really makes things more visually appealing and provides more detail about the status of a device.  My question is, when a threshold is broken, I call a perl script from the MRTG cfg files.  It then passes three arguments to my perl script: 1. name of the device, lets use 192.168.100.254_gigabitethernet1_0_1, 2: the current value of the parameter, 3: the threshold level.  When it passes the device name, it isnt capitalized.  The PNG files your CGI creates is capitalized (which should be the way that it is because they are capitalized in my MRTG cfg files).  Why is MRTG not copying the exact string value for the device name parameter?

Thank you so much for any insight you may have.

Sincerely,
Andy Nieberding 



More information about the mrtg mailing list