I am running into some issues with templates. Specifically, it seems as if running snmpget from within a host template results in a failure (i.e., no such name error, etc.), then the next interface is commented out. I have found a workaround, and I'll let you decide if this is a bug or if I don't understand how the templates are supposed to work.
BTW, I'm running mrtg 2.9.25 on Solaris 8 with perl 5.8. This template (simplified quite a bit from what I actually use) works fine: my ($foo_bar) = snmpget($router_connect, 'sysDescr'); I'm using cfgmaker with the --host-template option and not the --if-template option. Results (addresses, etc., munged to protect the guilty): ### Interface 1 >> Descr: 'sc0' | Name: 'sc0' | Ip: '192.168.10.7' | Eth: '00-05-9a-b0-ff-ff' ### Target[switch.foo.com_sc0]: #sc0:[EMAIL PROTECTED]: SetEnv[switch.foo.com_sc0]: MRTG_INT_IP="192.168.10.7" MRTG_INT_DESCR="sc0" This template does not: my ($foo_bar) = snmpget($router_connect, '1.3.6.1.9.19.19.19.19.19.19.19.19'); The results: ### Interface 1 >> Descr: 'sc0' | Name: 'sc0' | Ip: '192.168.10.7' | Eth: '00-05-9a-b0-ff-ff' ### ### The following interface is commented out because: ### * got 'Received SNMP response with error code ### error status: noSuchName ### index 1 (OID: 1.3.6.1.9.19.19.19.19.19.19.19.19) ### SNMPv1_Session (remote host: "switch.foo.com" [1.1.1.1].161) ### community: "not_public" ### request ID: 1347970036 ### PDU bufsize: 8000 bytes ### timeout: 2s ### retries: 5 ### backoff: 1)' from interface when trying to query # # Target[switch.foo.com_sc0]: #sc0:[EMAIL PROTECTED]: # SetEnv[switch.foo.com_sc0]: MRTG_INT_IP="192.168.10.7" MRTG_INT_DESCR="sc0" Now for the workaround. IsCounterBroken() looks to see if $SNMP_Session::errmsg is defined and returns an error if it is. If I change my error template to the following, the interface gets added to the config file properly: local $SNMP_Session::errmsg; my ($foo_bar) = snmpget($router_connect, '1.3.6.1.9.19.19.19.19.19.19.19.19'); Results: ### Interface 1 >> Descr: 'sc0' | Name: 'sc0' | Ip: '192.168.10.7' | Eth: '00-05-9a-b0-ff-ff' ### Target[switch.foo.com_sc0]: #sc0:[EMAIL PROTECTED]: SetEnv[switch.foo.com_sc0]: MRTG_INT_IP="192.168.10.7" MRTG_INT_DESCR="sc0" Is this a reasonable workaround? I don't understand the code well enough (yet) to suggest any changes to cfgmaker (assuming such is necessary) that won't break something else. Nor have I looked to see if there are any problems using snmpget or snmpwalk in the interface configuration is causing any problems (I will later, since I am using snmpget to see if certain oids are supported for particular interfaces). Any other advice on using the templates? --Michael -- 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
