SNMP Query Issue - Only getting partial data

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

Moderators: Developers, Moderators

Post Reply
jcaesar
Posts: 32
Joined: Mon Nov 01, 2004 5:07 pm
Location: Atlanta, GA

SNMP Query Issue - Only getting partial data

Post by jcaesar »

I looked around the forums and didn't see any issues quite like this, so hopefully I'm not creating a duplicate post.

I'm setting up and SNMP Query that works fine on most devices, but I've found one where it doesn't seem to be able to read in all the data. The query is pretty simple, and is listed below:

Code: Select all

<interface>
	<name>Get Cisco Memory Pools</name>
	<description>Queries a Cisco device for a list of monitorable memory Pools</description>
	<oid_index>.1.3.6.1.4.1.9.9.48.1.1.1.2</oid_index>
	<oid_index_parse>OID/REGEXP:.*\.([0-9]{1,2})$</oid_index_parse>
	<index_order>memIndex</index_order>
	<index_order_type>numeric</index_order_type>
	<index_title_format>|chosen_order_field|</index_title_format>

	<fields>
		<memIndex>
			<name>Index</name>
			<source>index</source>
			<direction>input</direction>
		</memIndex>
		<memPoolName>
			<name>Name</name>
			<method>get</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.4.1.9.9.48.1.1.1.2</oid>
		</memPoolName>
		<memPoolFree>
			<name>Memory Free</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.9.9.48.1.1.1.6</oid>
		</memPoolFree>
		<memLargestFree>
			<name>Largest Free</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.9.9.48.1.1.1.7</oid>
		</memLargestFree>
	</fields>
</interface>
When the method was set to "walk" for the memPoolName, it wouldn't populate the memPoolName column when I was selecting which pools to graph; it only showed the Index number. I changed the method to "get" to see what would happen, and it gets some of the names, but not the first two. See below:

Code: Select all

+ Running data query [11].
+ Found type = '3' [snmp query].
+ Found data query XML file at 'c:/Inetpub/wwwroot/cacti/resource/snmp_queries/cisco_memory.xml'
+ XML file parsed ok.
+ Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.9.9.48.1.1.1.2'
+ Inserting index data [value='1']
+ Inserting index data [value='6']
+ Inserting index data [value='7']
+ Inserting index data [value='8']
+ Inserting index data [value='9']
+ Inserting index data [value='10']
+ Located input field 'memPoolName' [get]
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.1' [value='']
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.6' [value='']
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.7' [value='NVRAM']
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.8' [value='MBUF']
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.9' [value='CLUSTER']
+ Executing SNMP get for data @ '.1.3.6.1.4.1.9.9.48.1.1.1.2.10' [value='MALLOC']
+ Found data query XML file at 'c:/Inetpub/wwwroot/cacti/resource/snmp_queries/cisco_memory.xml'
+ Found data query XML file at 'c:/Inetpub/wwwroot/cacti/resource/snmp_queries/cisco_memory.xml'
+ Found data query XML file at 'c:/Inetpub/wwwroot/cacti/resource/snmp_queries/cisco_memory.xml'
I've run the snmpwalk -v 2c -c command on the local machine and I can get the name of the first memory pool just fine.

Code: Select all

SNMPv2-SMI::enterprises.9.9.48.1.1.1.2.1 = STRING: "DRAM"
I also did a packet capture, which confirms that the name "DRAM" is being returned when I click the "Verbose Query" for the output above. The second memory pool is also being returned as "FLASH". It seems that something is preventing cacti from parsing that field correctly for certain values. I haven't used it on a large number of devices yet, but it worked on a 2600 router (2 memory pools, named Processor and IO) and a 7500 router (also 2 pools, named processor and fast). This problem happens when I query against a 6509 running CatOS. Both OSes use the same MIB tree for memory pools -- the difference is which pools are created and what they are named.

If anyone has any ideas, I would appreciate the help.

Thanks,
Jamie
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Did you try changing the m"snmpbulkwalk" settings? E.g. set it to 1 just for a try.
Reinhard
jcaesar
Posts: 32
Joined: Mon Nov 01, 2004 5:07 pm
Location: Atlanta, GA

Post by jcaesar »

lvm wrote:Did you try changing the m"snmpbulkwalk" settings? E.g. set it to 1 just for a try.
Reinhard
I'm not positive I know which setting you are referring to. I've changed "The Maximum SNMP OID's Per SNMP Get Request" under Poller Settings to 1, and the problem still exists. If that was the wrong setting, please point me in the right direction. I can't seem to find any settings specifically that specifically mention snmpbulkwalk, except for the path.

Thanks,
Jamie
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Yep, you've got the right one (I'm not having a running cacti system at the moment), but obviously, it didn't help. So I stumped
Reinhard
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests