As I continue to write this I am realizing this is going to serve better to keep track of my progress and hopefully help someone else down the road if I (or the board) finds a solution to this.
I have been following this link as it is close to the problem that I have been having templating a class of device. The device I am trying to build a template for has up to two 'shelves' and a varying number of slots. Each card in any slot has 1 port (for what I am looking at), but the base oids for each snmpwalk aren't postfixed by a nice 1,2,3,... pattern. the pattern is:
<base oid>.<shelf>.<slot>.1.
As all of the walked oids had 1 as the last dotted element, I used REGEX to extract the last 3 dotted elements as the index. So the following is a sample of the snmpwalk output
Code: Select all
hcxStatsUpstreamShelfId (base oid: enterprises.1141.2.32.1.1.1 )
enterprises.1141.2.32.1.1.1.1.6.1 = 1
enterprises.1141.2.32.1.1.1.1.7.1 = 1
enterprises.1141.2.32.1.1.1.1.8.1 = 1
enterprises.1141.2.32.1.1.1.1.9.1 = 1
enterprises.1141.2.32.1.1.1.2.2.1 = 2
enterprises.1141.2.32.1.1.1.2.3.1 = 2
enterprises.1141.2.32.1.1.1.2.7.1 = 2
enterprises.1141.2.32.1.1.1.2.8.1 = 2
hcxStatsUpstreamSlotId (base oid: enterprises.1141.2.32.1.1.2 )
enterprises.1141.2.32.1.1.2.1.6.1 = 6
enterprises.1141.2.32.1.1.2.1.7.1 = 7
enterprises.1141.2.32.1.1.2.1.8.1 = 8
enterprises.1141.2.32.1.1.2.1.9.1 = 9
enterprises.1141.2.32.1.1.2.2.2.1 = 2
enterprises.1141.2.32.1.1.2.2.3.1 = 3
enterprises.1141.2.32.1.1.2.2.7.1 = 7
enterprises.1141.2.32.1.1.2.2.8.1 = 8
hcxStatsUpstreamPortId (base oid: enterprises.1141.2.32.1.1.3 )
enterprises.1141.2.32.1.1.3.1.6.1 = 1
enterprises.1141.2.32.1.1.3.1.7.1 = 1
enterprises.1141.2.32.1.1.3.1.8.1 = 1
enterprises.1141.2.32.1.1.3.1.9.1 = 1
enterprises.1141.2.32.1.1.3.2.2.1 = 1
enterprises.1141.2.32.1.1.3.2.3.1 = 1
enterprises.1141.2.32.1.1.3.2.7.1 = 1
enterprises.1141.2.32.1.1.3.2.8.1 = 1
I saw that there was at least a unique return value for each shelf of hcxStatsUpstreamSlotId so I I decided that I will make two data queries, one for shelf 1 and one for shelf 2. Not all devices in this class have two shelves, so knowing that they at least have shelf 1, I went ahead with this.
Code: Select all
<query>
<name>Com21 Shelf 1 Upstream Statistics</name>
<description>Queries to get the upstream interface data from a shelf 1 on a Com21 HCX</description>
<oid_index>.1.3.6.1.4.1.1141.2.32.1.1.2.1</oid_index>
<oid_index_parse>OID/REGEXP:.*\.([0-9]{1,3}\.[1])$</oid_index_parse>
<index_order_type>numeric</index_order_type>
<fields>
<hcxUsShlf1Index>
<name>Index</name>
<method>walk</method>
<source>value</source>
<direction>input</direction>
<oid>.1.3.6.1.4.1.1141.2.32.1.1.2.1</oid>
</hcxUsShlf1Index>
<hcxUsShlf1RxCells>
<name>Rx Cells</name>
<method>walk</method>
<source>value</source>
<direction>input</direction>
<oid>.1.3.6.1.4.1.1141.2.32.1.1.10.1</oid>
</hcxUsShlf1RxCells>
</fields>
</query>
Following lvm's excellent help in this thread I proceded to create all of the necessary templates (host, graph, data) and queries (from XML).
The Data Query debug information even looks promising:
Code: Select all
+ Running data query [14].
+ Found type = '3' [snmp query].
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ XML file parsed ok.
+ Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.1141.2.32.1.1.2.1'
+ Located input field 'hcxUsShlf1Index' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.2.1'
+ Found item [hcxUsShlf1Index='6'] index: 6.1 [from value]
+ Found item [hcxUsShlf1Index='7'] index: 7.1 [from value]
+ Found item [hcxUsShlf1Index='8'] index: 8.1 [from value]
+ Found item [hcxUsShlf1Index='9'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1RxCells' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.10.1'
+ Found item [hcxUsShlf1RxCells='2168911'] index: 6.1 [from value]
+ Found item [hcxUsShlf1RxCells='1904405'] index: 7.1 [from value]
+ Found item [hcxUsShlf1RxCells='1811447'] index: 8.1 [from value]
+ Found item [hcxUsShlf1RxCells='1510087'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1UncorrFec' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.12.1'
+ Found item [hcxUsShlf1UncorrFec='28'] index: 6.1 [from value]
+ Found item [hcxUsShlf1UncorrFec='102'] index: 7.1 [from value]
+ Found item [hcxUsShlf1UncorrFec='214'] index: 8.1 [from value]
+ Found item [hcxUsShlf1UncorrFec='229'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1CorrFec' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.14.1'
+ Found item [hcxUsShlf1CorrFec='4'] index: 6.1 [from value]
+ Found item [hcxUsShlf1CorrFec='18'] index: 7.1 [from value]
+ Found item [hcxUsShlf1CorrFec='42'] index: 8.1 [from value]
+ Found item [hcxUsShlf1CorrFec='0'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1MeanNoise' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.18.1'
+ Found item [hcxUsShlf1MeanNoise='-34'] index: 6.1 [from value]
+ Found item [hcxUsShlf1MeanNoise='-21'] index: 7.1 [from value]
+ Found item [hcxUsShlf1MeanNoise='-33'] index: 8.1 [from value]
+ Found item [hcxUsShlf1MeanNoise='-35'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1MinNoise' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.26.1'
+ Found item [hcxUsShlf1MinNoise='-37'] index: 6.1 [from value]
+ Found item [hcxUsShlf1MinNoise='-24'] index: 7.1 [from value]
+ Found item [hcxUsShlf1MinNoise='-36'] index: 8.1 [from value]
+ Found item [hcxUsShlf1MinNoise='-39'] index: 9.1 [from value]
+ Located input field 'hcxUsShlf1MaxNoise' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1141.2.32.1.1.27.1'
+ Found item [hcxUsShlf1MaxNoise='-31'] index: 6.1 [from value]
+ Found item [hcxUsShlf1MaxNoise='-17'] index: 7.1 [from value]
+ Found item [hcxUsShlf1MaxNoise='-31'] index: 8.1 [from value]
+ Found item [hcxUsShlf1MaxNoise='-30'] index: 9.1 [from value]
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
+ Found data query XML file at '/www/cacti/resource/snmp_queries/com21-test.xml'
In troubleshooting this, what should my next step be?
Thanks in advance
Some additional information:
Everything else works nicely (generic router/interface stuff, the BGP Statistics template [where is that link...])
Gentoo AMD64 2006.1
Mysql 5.x
PHP 5.1
Cacti 0.86h (from sources)
Apache 2