I need to monitor some traffic parameters in Huawei devices using SNMP. Those parameters are indexed in SNMP dynamic tables.

e.g.:

Index	Name	Board	Subcard	Port	Out Bytes	Tx Utilization	
26.26.98.111.97.114.100.61.49.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49	board=1,subcard=255,port=1	1	255	1	222123854217375	5782	
26.26.98.111.97.114.100.61.50.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.51	board=2,subcard=255,port=3	2	255	3	0	0	
26.26.98.111.97.114.100.61.50.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.52	board=2,subcard=255,port=4	2	255	4	70065589374158	642	
26.26.98.111.97.114.100.61.51.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49	board=3,subcard=255,port=1	3	255	1	187202111257802	4967	
26.26.98.111.97.114.100.61.52.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49	board=4,subcard=255,port=1	4	255	1	58869952022934	613	
26.26.98.111.97.114.100.61.53.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49	board=5,subcard=255,port=1	5	255	1	26864119466715	5838	
26.26.98.111.97.114.100.61.54.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49	board=6,subcard=255,port=1	6	255	1	0	630	

I've tried using SNMP Custom Table sensors and SNMP Library options, following the steps shown in manuals/videos/webinars. I could'n achieve what I want.


Article Comments

Hello Juan,
thank you for your KB-Post.

I've added a "smaller" version of your data below, it makes visualization easier.

IndexNameBoardSubcardPortOut BytesTx Utilization
49...49board=1,subcard=255,port=1125512221238542173755782
50...51board=2,subcard=255,port=32255300
50...52board=2,subcard=255,port=42255470065589374158642
51...49board=3,subcard=255,port=1325511872021112578024967
52...49board=4,subcard=255,port=14255158869952022934613
53...49board=5,subcard=255,port=152551268641194667155838
54...49board=6,subcard=255,port=1625510630

This should be possible with the SNMP Custom Table. Did you take a look at the following guide?

While the data looks ok, there's something else I need to be able to assist further:

  1. The OID of said table
  2. What data/columns you're interested in monitoring.

Please note that the sensor essentially requires 2 "settings:

  1. How the table will be "tracked", the Identification Column - This should be a column from the table that contains unique names only, for instance "board=1,subcard=255,port=1"(name)
  2. What value(s) you would like to monitor. The following numerical values are available: Board, Subcard, Port, Out Bytes, TX Utilization.

Please note however, that judging by the size of your indexes, these indexes look very unique. When indexes are volatile, any numerical value is used: 1, 2, 3, 4,.... - The only reason for using a index this big would be to make the index absolutely unique. Like a WWN or GUID.


Best Regards,
Luciano Lingnau [Paessler Support]


Oct, 2016 - Permalink

The error I get using "SNMP Custom Table" sensor is:

The OID you entered does not point to an SNMP table. (code: PE248)

The SNMP structure I want to monitor is very complex:

  • ethPortIndex: OID after 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.3.192. Items in OID after this represent ascii characters of ethPortName (26.26.98.111.97.114.100.61.49.44.115.117.98.99.97.114.100.61.50.53.53.44.112.111.114.116.61.49)
  • ethPortName table: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.3.192 (board=1,subcard=255,port=1)
  • inBytes table: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4.192
  • outBytes table: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4.193
  • txUtilization table: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4.568

So the main problem is that those tables are not "standard" like SNMP tables.


Oct, 2016 - Permalink

Hello Juan, thank you for your reply.

Please keep in mind that the SNMP Custom Table sensor will only work with standard tables, any alternative/custom implementations will most likely cause the sensor to fail.

Now, I've looked for those OID's and wasn't able to locate the corresponding MIB, so I'm still a bit uncertain about the precise details about this table. Judging by the mentioned OID's, I would guess the following:

  • This is your Table: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100
  • This is a Table's Entry: 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1

Try deploying the sensor and enter the following Table's OID:

  • 1.3.6.1.4.1.2011.2.25.3.70.20.102.100

Should that not work out, please forward us the device's MIB files which document this implementation. Additionally, download our SNMP Tester and issue a WALK of the following OID: 1.3.6.1.4.1.2011.2.25. Please share the result (preferably in a .txt file).


Best Regards,
Luciano Lingnau [Paessler Support]


Oct, 2016 - Permalink

Adding the sensor with Table's OID as you recommended, results with no error but doesn't work as expected:

Table specific

Table Specific

Channel columns

Channel columns

The specific part of the MIB is:

		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100
		ethPortPmCurTable OBJECT-TYPE
			SYNTAX SEQUENCE OF EthPortPmCurEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPort 100 }
		
		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1
		ethPortPmCurEntry OBJECT-TYPE
			SYNTAX EthPortPmCurEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Description."
			INDEX { ethPortPmCurEid, ethPortPmCurPara}
			::= { ethPortPmCurTable 1 }
		
		EthPortPmCurEntry ::=
			SEQUENCE { 
				ethPortPmCurEid
					DataPmEventType,
				ethPortPmCurParaLen
					Unsigned32,
				ethPortPmCurPara
					OCTET STRING,					
				ethPortPmCurMonValue
					Counter64,
				ethPortPmCurDatetime
					DateAndTime,

			 }

		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.1
		ethPortPmCurEid OBJECT-TYPE
			SYNTAX DataPmEventType
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPortPmCurEntry 1 }
			
		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.2
		ethPortPmCurParaLen OBJECT-TYPE
			SYNTAX Unsigned32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPortPmCurEntry 2 }
			
		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.3
		ethPortPmCurPara OBJECT-TYPE
			SYNTAX OCTET STRING
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPortPmCurEntry 3 }
				
		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4
		ethPortPmCurMonValue OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPortPmCurEntry 4 }
		
		-- 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.5
		ethPortPmCurDatetime OBJECT-TYPE
			SYNTAX DateAndTime
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Description."
			::= { ethPortPmCurEntry 5 }

So as you can see, this is a complex SNMP dynamic table.

  • OID 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.3.192 brings the name of the interface (board=3,subcard=...). OID 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4.192 brings the value of RXFULLBGOOD.
  • OID 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.3.193 brings again the name of the interface (board=3,subcard=...). OID 1.3.6.1.4.1.2011.2.25.3.70.20.102.100.1.4.193 brings the value of TXFULLBGOOD.
  • And so on...

Oct, 2016 - Permalink

Hello Juan, thank you for your reply.

This does look unusual. You might want to resort to a custom-script sensor in this case, you can use Powershell+NET-SNMP to create custom sensors that poll any kind of data, do any required "intermediate logic" there and then return the output in a PRTG-Compatible format. Similar to what's been done here:

Alternatively, share a complete walk of 1.3.6.1.4.1.2011.2.25.3.70.20.102.100 and I'll be able to take a closer look to check whenever there are any other alternatives with the Custom Table sensor.


Best Regards,
Luciano Lingnau [Paessler Support]


Oct, 2016 - Permalink

Hello Juan ,

Have you solutioned this problem? I'm facing the same problem with RTN's from Huawei.


Aug, 2017 - Permalink

No, I haven't. I stopped trying and continued using Cacti for that purpose.

Best regards!


Aug, 2017 - Permalink