Hello, I believe the point of this exercise is to avoid sysUpTime looping like the odometer on an old car every (((2**32 / 100) / 60) / 60) / 24 = 497 days. sysUpTime does that because it is limited to a 32 bit counter. I've seen it happen many a time on access servers and routers that no one has touched for a long time. Anything beginning with hr usually uses SNMPv2 and a 64 bit counter, so hrSystemUptime would loop roughly every ((((2**64 / 100) / 60) / 60) / 24) / 365.25 = 5845420460 years. The answer would be to hack the mrtg perl executable so it can take an OID as part of the RouterUptime option, then mail Tobias and ask him nicely to include your modification in the next release. :D In version 2.9.26b, this is the piece of code you need to change:
if (defined $$rcfg{routeruptime}{$rou}) { ($uptime,$name) = snmpget($$rcfg{routeruptime}{$rou}, $$cfg{snmpoptions}, 'sysUptime', 'sysName'); #" <- this makes emacs parsing happy } According to http://people.ee.ethz.ch/~oetiker/webtools/mrtg/reference.html , the RouterUptime target option allows you to specify a [EMAIL PROTECTED] for fetching uptime, but it doesn't seem to allow you to specify an OID. The following would allow you to do so, as long as you don't have an @ mark in your community and you use a numerical OID. So it's not perfect. ^^; if (defined $$rcfg{routeruptime}{$rou}) { if ($$rcfg{routeruptime}{$rou} =~ /^([\d\.]+)\:([EMAIL PROTECTED])\@(.+)$/) { my($oid,$community,$host) = ($1,$2,$3); ($uptime,$name) = snmpget($community.'@'.$host, $$cfg{snmpoptions}, $oid, 'sysName'); #" <- this makes emacs parsing happy } else { ($uptime,$name) = snmpget($$rcfg{routeruptime}{$rou}, $$cfg{snmpoptions}, 'sysUptime', 'sysName'); #" <- this makes emacs parsing happy } } With that change, you can specify RouterUptime something like this: RouterUptime[localhost]: 1.3.6.1.2.1.25.1.1.0:[EMAIL PROTECTED]:::::2 HopeThatHelps, James Brett Marler wrote: > Hello Antoine, > > >>On a console, if I go: >># snmpget -v 2c -c public localhost host.hrSystem.hrSystemUptime.0 > > (snip) > >>HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (105259891) 12 days, >>4:23:18.91 >> >>But I have no idea how to tell mrtg to use this. > > > I get the "uptime" of my Windows XP box by simply running a small script from > my Linux box which simply does an snmpwalk, searches for the sysuptime, > strips > the "days" off and puts it into a format which MRTG can then make a graph > from. Script is below if you would like it, just a no brainer shell script! > > -- > #!/bin/sh > uptime=`/usr/local/bin/snmpwalk -v1 -c private 172.16.0.1 | /bin/grep -i > sysuptime | awk '{print $5}' | sed 's/days//'` > echo "$uptime"; > -- > > Hope this is of some help. > > > Regards. -- Unsubscribe mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/mrtg FAQ http://faq.mrtg.org Homepage http://www.mrtg.org WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi