Calix E7, Cacti and SNMP

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

Moderators: Developers, Moderators

Post Reply
lighiche
Posts: 6
Joined: Mon Mar 03, 2014 9:16 am

Calix E7, Cacti and SNMP

Post by lighiche »

(I have already posted this in the Calix forum and all the mentioned materials were downloaded from there)

Hi guy, first post here. I have already done A LOT to try and trouble shoot this. Let me narrow down the problem for you guys below.

I have a fully working 0.8.8b cacti installed on centos 6.5. It's a new install, It's graphing very basic e7 shelf statistics like CPU usage and so on perfectly fine with the default scripts and xml native to cacti. It runs on some juniper equipment graphing link traffic and is integrated with smokeping. All working perfectly fine. Today I started work on using the e7 mibs from this site along with the guide on "how to get the most out of your e7 snmp". I used the custom xml's provided.

"interface_x.xml" in the snmp_queries directory with the permissions set to 777 (just to be sure)
and the templates xml imported to cacti. The import shows up fine all graph and data templates show up and accounted for. They apply to the IP fine. Shows 5425 statistics. A verbose query with the xml shows

+ Running data query [17].
+ Found type = '3' [SNMP Query].
+ Found data query XML file at '/var/www/html/resource/snmp_queries/interface_x.xml'
+ XML file parsed ok

and then it walks for OIDs but something is NOOOOT right. In interface_x.xml it defines the name or type of data and shows the OID that should be associated with it i.e.

-<ifInDiscards>
<name>Discarded Packets In</name>
<method>walk</method>
<source>value</source>
<direction>output</direction>
<oid>.1.3.6.1.2.1.2.2.1.13</oid>
</ifInDiscards>

from the server cli using net-snmp if I do:

snmptranslate -On IF-MIB::ifInDiscards
.1.3.6.1.2.1.2.2.1.13

it resolves in the MIB

---------------

Or I walk the IP address

snmpwalk -v 2c -c put-string-here put-ip-here ifInDiscards
IF-MIB::ifInDiscards.101 = Counter32: 17213
IF-MIB::ifInDiscards.102 = Counter32: 0
IF-MIB::ifInDiscards.103 = Counter32: 0
IF-MIB::ifInDiscards.104 = Counter32: 0
IF-MIB::ifInDiscards.105 = Counter32: 0
IF-MIB::ifInDiscards.106 = Counter32: 0
IF-MIB::ifInDiscards.107 = Counter32: 0
(and on and on it goes)

it shows me possible discards for what OIDs. THE PROBLEM is that using cactis verbose walk with interface_x.xml doesn't show anything for:

1.3.6.1.2.1.2.2.1.6.10
1.3.6.1.2.1.2.2.1.6.11
1.3.6.1.2.1.2.2.1.6.12
1.3.6.1.2.1.2.2.1.6.13
1.3.6.1.2.1.2.2.1.6.14
1.3.6.1.2.1.2.2.1.6.15
1.3.6.1.2.1.2.2.1.6.17
1.3.6.1.2.1.2.2.1.6.16
1.3.6.1.2.1.2.2.1.6.18
1.3.6.1.2.1.2.2.1.6.20

THEN the plot thickens, if I take all of these OIDs above as an example say

it says it doesn't even exist.

Now for the cherry on top. RRD graphs using the templates I used from the guide. It only partially and the outputs are WAY off.

Any ideas?
Last edited by lighiche on Wed Mar 05, 2014 1:36 pm, edited 1 time in total.
lighiche
Posts: 6
Joined: Mon Mar 03, 2014 9:16 am

Re: Calix E7, Cacti and SNMP

Post by lighiche »

Using Calix E72 with 2.2 software revisions and 2.2 mibs

and the custom xml from the calix site, these values are WAY off and not graphings anywhere near correctly. But everything else is.

Image
Image
Image
Image
Image
lighiche
Posts: 6
Joined: Mon Mar 03, 2014 9:16 am

Re: Calix E7, Cacti and SNMP

Post by lighiche »

EDIT:

OK.

Calix discards on shelf 1 card 1 port 1 or 1/1/g1 as cacti sees it. In CMS (calix management system) has a discard value of 19733 when I walk this OID which is 1.3.6.1.2.1.2.2.1.13 tree with the first index of 101 I get

snmpwalk -v 2c -c string 192.168.5.102 1.3.6.1.2.1.2.2.1.13.101
IF-MIB::ifInDiscards.101 = Counter32: 19733

Cacti even shows this in its walk as:

SNMP Version: 2, Community: string, OID: .1.3.6.1.2.1.2.2.1.13.101
RRD: /var/www/html/rra/e7_smmt_errors_in_169.rrd

And again with errors (which should be zero if there are none)

snmpwalk -v 2c -c string 192.168.5.102 1.3.6.1.2.1.2.2.1.14.100145
IF-MIB::ifInErrors.100145 = Counter32: 0

So looking at it again my poller cache says this was built:

E7_SMMT - Errors - Ont 11108/g1 SNMP Version: 2, Community: string, OID: .1.3.6.1.2.1.2.2.1.14.100145
RRD: /var/www/html/rra/e7_smmt_errors_in_157.rrd

Yet im still receiving a partial graph on erros and discard with values that are astronomically wrong

This is what i'm working with xml querey:

Code: Select all

<interface>
	<name>Get SNMP Interfaces (Extended)</name>
	<description>Queries a host for a list of monitorable interfaces</description>
	<oid_index>.1.3.6.1.2.1.2.2.1.1</oid_index>
	<oid_num_indexes>.1.3.6.1.2.1.2.1.0</oid_num_indexes>
	<index_order>ifDescr:ifName:ifHwAddr:ifIndex</index_order>
	<index_order_type>numeric</index_order_type>
	<index_title_format>|chosen_order_field|</index_title_format>

	<fields>
		<ifIndex>
			<name>Index</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.1</oid>
		</ifIndex>
		<ifDescr>
			<name>Description</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.2</oid>
		</ifDescr>
		<ifType>
			<name>Type</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.3</oid>
		</ifType>
		<ifMtu>
			<name>MTU</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.4</oid>
		</ifMtu>
                <ifSpeed>
                        <name>Speed</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>input</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.5</oid>
                </ifSpeed>
		<ifHwAddr>
			<name>Hardware Address</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.6</oid>
		</ifHwAddr>
		<ifAdminStatus>
			<name>Admin Status</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.7</oid>
		</ifAdminStatus>
		<ifOperStatus>
			<name>Operational Status</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.2.2.1.8</oid>
		</ifOperStatus>
                <ifInOctets>
                        <name>Bytes In</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.10</oid>
                </ifInOctets>
                <ifOutOctets>
                        <name>Bytes Out</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.16</oid>
                </ifOutOctets>
                <ifInUcastPkts>
                        <name>Unicast Packets In</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.11</oid>
                </ifInUcastPkts>
                <ifOutUcastPkts>
                        <name>Unicast Packets Out</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.17</oid>
                </ifOutUcastPkts>
                <ifInNUcastPkts>
                        <name>Non-Unicast Packets In</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.12</oid>
                </ifInNUcastPkts>
                <ifOutNUcastPkts>
                        <name>Non-Unicast Packets Out</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.2.1.2.2.1.18</oid>
                </ifOutNUcastPkts>
		<ifInDiscards>
			<name>Discarded Packets In</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.2.2.1.13</oid>
		</ifInDiscards>
		<ifOutDiscards>
			<name>Discarded Packets Out</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.2.2.1.19</oid>
		</ifOutDiscards>
		<ifInErrors>
			<name>Errors In</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.2.2.1.14</oid>
		</ifInErrors>
		<ifOutErrors>
			<name>Errors Out</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.2.2.1.20</oid>
		</ifOutErrors>
		<ifUnknownIn>
			<name>Unknown In</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.2.2.1.15</oid>
		</ifUnknownIn>
		<ifName>
			<name>Name (IF-MIB)</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.1</oid>
		</ifName>
		<ifInMulticastPkts>
			<name>Multicast Packets In</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.2</oid>
		</ifInMulticastPkts>
		<ifOutMulticastPkts>
			<name>Multicast Packets Out</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.4</oid>
		</ifOutMulticastPkts>
		<ifInBroadcastPkts>
			<name>Broadcast Packets In</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.3</oid>
		</ifInBroadcastPkts>
		<ifOutBroadcastPkts>
			<name>Broadcast Packets Out</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.5</oid>
		</ifOutBroadcastPkts>
		<ifHCInOctets>
			<name>Bytes In - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.6</oid>
		</ifHCInOctets>
		<ifHCOutOctets>
			<name>Bytes Out - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.10</oid>
		</ifHCOutOctets>
		<ifHCInUcastPkts>
			<name>Unicast Packets In - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.7</oid>
		</ifHCInUcastPkts>
		<ifHCOutUcastPkts>
			<name>Unicast Packets Out - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.11</oid>
		</ifHCOutUcastPkts>
		<ifHCInMulticastPkts>
			<name>Multicast Packets In - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.8</oid>
		</ifHCInMulticastPkts>
		<ifHCOutMulticastPkts>
			<name>Multicast Packets Out - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.12</oid>
		</ifHCOutMulticastPkts>
		<ifHCInBroadcastPkts>
			<name>Broadcast Packets In - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.9</oid>
		</ifHCInBroadcastPkts>
		<ifHCOutBroadcastPkts>
			<name>Broadcast Packets Out - 64-bit Counters</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.13</oid>
		</ifHCOutBroadcastPkts>
		<ifHighSpeed>
			<name>High Speed</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.15</oid>
		</ifHighSpeed>
		<ifAlias>
			<name>Alias (IF-MIB)</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.31.1.1.1.18</oid>
		</ifAlias>
		<ifIP>
			<name>IP Address</name>
			<method>walk</method>
			<source>OID/REGEXP:.*\.([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$</source>
			<direction>input</direction>
			<oid>.1.3.6.1.2.1.4.20.1.2</oid>
		</ifIP>
	</fields>
</interface>
and the output from verbose query:

1.3.6.1.2.1.2.2.1.6.10
1.3.6.1.2.1.2.2.1.6.11
1.3.6.1.2.1.2.2.1.6.12
1.3.6.1.2.1.2.2.1.6.13
1.3.6.1.2.1.2.2.1.6.14
1.3.6.1.2.1.2.2.1.6.15
1.3.6.1.2.1.2.2.1.6.17
1.3.6.1.2.1.2.2.1.6.16
1.3.6.1.2.1.2.2.1.6.18
1.3.6.1.2.1.2.2.1.6.20

is being skipped from the cacti output what is what I need and can I can resolve with net-snmp
lighiche
Posts: 6
Joined: Mon Mar 03, 2014 9:16 am

Re: Calix E7, Cacti and SNMP

Post by lighiche »

Turns out it's a bug with E7 2.2 software that is fixed in a 2.2 patch or 2.3 CA release, haven't tried it yet but I'll update this as I go.
mpaulino
Posts: 1
Joined: Thu Mar 27, 2014 8:10 am

Re: Calix E7, Cacti and SNMP

Post by mpaulino »

Hello, I have the same problem and can not solve the case.
and now I can not do the update, lighiche could solve the problem?
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests