Monitoring Nortel Passport devices with MRTG

Bahadır AKCAN

 

We all know that MRTG is a great tool to monitor network performance. It is free to use. It is also easy to use. Yet when it comes to monitoring Nortel Passport devices, it could be a little harder to find the right configuration, especially when you wish to monitor non-standard MIB variables.

 

This document aims to help you to monitor your Nortel Passport devices. Note that all the examples included are based on Passport Carrier Release 6.1 (PCR6.1 – CF01S1) and if you are using Passport enterprise software (Bexxxx or BGxxxx) things can work differently or may not work at all. In such a case you can check your MIB by using a tool such as Oidview. Feel free to send me e-mails at bakcan@netas.com.tr if you have any questions or doubts.

 

At the end of this document you can find a sample mrtg.cfg that you can copy-paste and modify according to your needs.

 

Before you start MRTG configuration

 

This document assumes that you are familiar with MRTG. If not, then check the excellent howto documents you can find on official MRTG site.

 

Windows :

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-nt-guide.html

 

Unix :

 

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-unix-guide.html

 

Passport configuration

 

Forasmuch MRTG uses SNMP, Passport must be ready to accept SNMP queries. It is not enabled by default. You can use the following commands to enable SNMP on Passport (Assuming you have Vr/0 enabled and all the IP configuration is already done, if you don’t know what I mean refer to Passport NTP documentation set)

 

Start prov

Add vr/0 snmp

Set vr/0 snmp supported v2c (enables SNMPV2)

Add vr/0 snmp comm/1

Set vr/0 snmp comm/1 view 1

Add vr/0 snmp view/1,1

Check prov

Activate prov

Confirm prov

Save prov

Commit prov


 

 

 

1 – Monitoring Frame Relay UNI

 

It is possible to monitor a FRUNI instance and furthermore, all the DLCIs under the FRUNI can be separately monitored. Let us see an example :

 

Target[dlci16]:  1.3.6.1.4.1.562.36.2.1.71.5.15.1.1.998.16 & 1.3.6.1.4.1.562.36.2.1.71.5.15.1.8.998.16:public@192.168.101.70

 

The target name is given as dlci16, which can be any text you prefer. The first OID (1.3.6.1.4.1.562.36.2.1.71.5.15.1.1.998.16  ) is the number of outgoing frames on this DLCI. The second (1.3.6.1.4.1.562.36.2.1.71.5.15.1.8.998.16) gives the number of incoming frames on this DLCI. The community name is public (the default on Passport) and the IP address on Passport is 192.168.101.70

 

When you wish to monitor a particular DLCI, you need both the FRUNI instance and the DLCI number. The DLCI number is the last number in both OIDs (16 in this example) and the FRUNI instance is the number before the DLCI (998 in this example)

 

The rest is standart MRTG stuff, check MRTG documentation for further information.

 

MaxBytes[dlci16]: 1250000

Title[dlci16]: DLCI 16

Options[dlci16]: growright, nopercent

XSize[dlci16]: 600

YSize[dlci16]: 100

YLegend[dlci16]: DLCI 16

ShortLegend[dlci16]: Number of Frames

LegendI[dlci16]:  Outgoing:

LegendO[dlci16]:  Incoming:

 

 


 

The example above monitors the number of frames but it is better to monitor the traffic in bytes (or bits) per second. Check the example below :

 

Target[dlci16b]: 1.3.6.1.4.1.562.36.2.1.71.5.15.1.22.998.16 & 1.3.6.1.4.1.562.36.2.1.71.5.15.1.26.998.16:public@192.168.101.70

MaxBytes[dlci16b]: 12500000

Title[dlci16b]: DLCI 16

Options[dlci16b]: growright, nopercent, bits

XSize[dlci16b]: 600

YSize[dlci16b]: 100

YLegend[dlci16b]: DLCI 16

ShortLegend[dlci16b]: Number of Bits Per Second

LegendI[dlci16b]:  Outgoing:

LegendO[dlci16b]:  Incoming:

 

 

Note that OIDs are slightly different this time. We also have bits option enabled, therefore MRTG will multiply the number received from Passport by 8.

 

Useful OIDs for FRUNI :

 

1.3.6.1.4.1.562.36.2.1.71.5.15.1.1.x.y    : Frame to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.8.x.y    : Frame from IF

1.3.6.1.4.1.562.36.2.1.71.5.15.1.2.x.y    : Fecn to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.3.x.y    : Becn to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.5.x.y    : De to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.9.x.y    : Fecn from If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.10.x.y   : Becn from If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.13.x.y   : De to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.22.x.y   : Bytes to If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.26.x.y   : Bytes from If

1.3.6.1.4.1.562.36.2.1.71.5.15.1.39.x.y   : Cir present

1.3.6.1.4.1.562.36.2.1.71.5.15.1.40.x.y   : Eir present

 

where x = Fruni instance and y = DLCI number.

 

If you do not know what these parameters mean, check Passport components documentation.


 

 

2 – Monitoring CPU Utilization

 

It is always nice to know what is the Passport CPU utilization level. We can monitor all our LPs separately. The example is for LP/0.

 

Target[lp0]: 1.3.6.1.4.1.562.36.2.1.12.104.1.2.0 &1.3.6.1.4.1.562.36.2.1.12.104.1.2.0:public@192.168.101.70

MaxBytes[lp0]: 100

Title[lp0]: LP0 Kullanim Yuzdesi

Options[lp0]: gauge, growright

XSize[lp0]: 600

YSize[lp0]: 100

YLegend[lp0]: Lp/0

ShortLegend[lp0]: Percent

LegendI[lp0]:  Utilization:

LegendO[lp0]:

 

 

Note that gauge option is used here. The last number of OID is the LP instance. (zero here) For different LPs, use different numbers.


3 – Monitoring Trunks

 

If you are using DPRS or PORS, you sure wish to monitor trunk utilization levels. Here we go :

 

Target[trunk2]: 1.3.6.1.4.1.562.36.2.1.60.107.1.11.2 &1.3.6.1.4.1.562.36.2.1.60.107.1.11.2:public@192.168.101.70

 

The last number of OID is the trunk instance. Gauge option is used here. Remember that Passport trunk utilization will give you only Tx utilization level.

 

MaxBytes[trunk2]: 200

Title[trunk2]: Trunk 2

Options[trunk2]: gauge, growright, nopercent

XSize[trunk2]: 600

YSize[trunk2]: 100

YLegend[trunk2]: Trunk 2

ShortLegend[trunk2]: Yüzde

LegendI[trunk2]:  Utilization:

LegendO[trunk2]:

 


 

 

4 – Monitoring ATM Trunks

 

For trunks over ATM, we can monitor both Rx and Tx level utilization. If you have unacked trunks, use the example in section 3.

 

The first OID here is the Tx level and the second gives you Rx level utilization.

 

Be cautious here, the instance number is not the last number but the one before that. (Shown underline and is 1 in this example)

 

Target[atm]: 1.3.6.1.4.1.562.36.2.1.60.3.15.1.2.1.1 & 1.3.6.1.4.1.562.36.2.1.60.3.15.1.1.1.1:public@192.168.101.70

MaxBytes[atm]: 200

Title[atm]: ATM TRUNK

Options[atm]: gauge, growright, nopercent

XSize[atm]: 600

YSize[atm]: 100

YLegend[atm]: ATM Trunk

ShortLegend[atm]: Yüzde

LegendI[atm]:   Transmit Utilization:

LegendO[atm]:   Receive Utilization:

 


5 – Monitoring ATMIF

 

If you need to monitor and ATM Interface, use the following example to check txcell and rxcell attributes.

 

First OID = txcell, last number is the instance

Second OID = rxcell, last number is the instance

 

Target[atmif]: 1.3.6.1.4.1.562.36.2.1.114.150.1.13.1 &1.3.6.1.4.1.562.36.2.1.114.150.1.23.1:public@192.168.101.70

MaxBytes[atmif]: 200000

Title[atmif]: ATM Interface 1

Options[atmif]: growright, nopercent

XSize[atmif]: 600

YSize[atmif]: 100

YLegend[atmif]: ATM IF

ShortLegend[atmif]: Cell

LegendI[atmif]:   Transmit Utilization:

LegendO[atmif]:   Receive Utilization:

 

Other useful OIDS for ATMIF :

 

1.3.6.1.4.1.562.36.2.1.114.150.1.14.1 : txcellclp

1.3.6.1.4.1.562.36.2.1.114.150.1.24.1 : rxcellclp

1.3.6.1.4.1.562.36.2.1.114.150.1.17.1 : txcelldiscardclp

1.3.6.1.4.1.562.36.2.1.114.150.1.27.1 : rxcelldiscardclp

1.3.6.1.4.1.562.36.2.1.114.150.1.16.1 : txcelldiscard

1.3.6.1.4.1.562.36.2.1.114.150.1.26.1 : rxcelldiscard

 

 

 

If you have questions or comments, feel free to write to bakcan@netas.com.tr

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#######################################################

# Passport PCR 6.1 MRTG Monitoring Example            #

# Bahadir Akcan 2005                                  #

# Refer to Passport NTP for additional help           #

#######################################################    

 

RunAsDaemon: Yes

Interval: 5

 

 

##################################################################

#Frame Relay UNI - DLCI Monitoring

#OID : 1.3.6.1.4.1.562.36.2.1.71.5.15.1.1.998.16 Frame to If

#OID : 1.3.6.1.4.1.562.36.2.1.71.5.15.1.8.998.16 Frame from If

# Fruni instance in this example is 998, modify it according to your Passport

# DLCI number is the last part (16 in this example)

##################################################################

 

 

# Monitoring Number of Frames on DLCI 16, FRUNI 998

 

Target[dlci16]: 1.3.6.1.4.1.562.36.2.1.71.5.15.1.1.998.16&1.3.6.1.4.1.562.36.2.1.71.5.15.1.8.998.16:public@192.168.101.70

MaxBytes[dlci16]: 1250000

Title[dlci16]: DLCI 16

Options[dlci16]: growright, nopercent

XSize[dlci16]: 600

YSize[dlci16]: 100

YLegend[dlci16]: DLCI 16

ShortLegend[dlci16]: Number of Frames

LegendI[dlci16]:  Outgoing:

LegendO[dlci16]:  Incoming:

 

#############################################################

# Monitoring Number of Bytes on DLCI 16, FRUNI 998

# If you need to monitor bit/s, use relevant MRTG option to multiply by 8

 

Target[dlci16b]: 1.3.6.1.4.1.562.36.2.1.71.5.15.1.22.998.16&1.3.6.1.4.1.562.36.2.1.71.5.15.1.26.998.16:public@192.168.101.70

MaxBytes[dlci16b]: 12500000

Title[dlci16b]: DLCI 16

Options[dlci16b]: growright, nopercent

XSize[dlci16b]: 600

YSize[dlci16b]: 100

YLegend[dlci16b]: DLCI 16

ShortLegend[dlci16b]: Number of Bytes

LegendI[dlci16b]:  Outgoing:

LegendO[dlci16b]:  Incoming:

 

##############################################################

# CPU Utilization Monitoring on LP

# Gauge option is used (no incrementing counter)

# The last number in OID is LP instance, modify according to LP number (0-15)

###############################################################################

 

Target[lp0]: 1.3.6.1.4.1.562.36.2.1.12.104.1.2.0&1.3.6.1.4.1.562.36.2.1.12.104.1.2.0:public@192.168.101.70

MaxBytes[lp0]: 100

Title[lp0]: LP0 Kullanim Yuzdesi

Options[lp0]: gauge, growright

XSize[lp0]: 600

YSize[lp0]: 100

YLegend[lp0]: Lp/0

ShortLegend[lp0]: Percent

LegendI[lp0]:  Utilization:

LegendO[lp0]:

 

##################################################################################

# Trunk Monitoring

 

# Trunk Utilization for Trunk Instance 1

# Modify the last number (1) at both OIDs for different trunk instances

##########################################################################################

 

Target[trunk1]: 1.3.6.1.4.1.562.36.2.1.60.107.1.11.1&1.3.6.1.4.1.562.36.2.1.60.107.1.11.1:public@192.168.101.70

 

# Trunk utilization can well get over %100 in Passport

 

MaxBytes[trunk1]: 200

Title[trunk1]: Trunk 1

 

# The values obtained with this OID are absolute and not incremental, therefore use gauge option for trunks

 

Options[trunk1]: gauge, growright, nopercent

XSize[trunk1]: 600

YSize[trunk1]: 100

YLegend[trunk1]: Trunk 1

ShortLegend[trunk1]: Percent

LegendI[trunk1]:  Utilization:

LegendO[trunk1]:

 

# Same procedure applies for trunk instance 2, note that the last number for both OIDs are modified

 

Target[trunk2]: 1.3.6.1.4.1.562.36.2.1.60.107.1.11.2&1.3.6.1.4.1.562.36.2.1.60.107.1.11.2:public@192.168.101.70

MaxBytes[trunk2]: 200

Title[trunk2]: Trunk 2

Options[trunk2]: gauge, growright, nopercent

XSize[trunk2]: 600

YSize[trunk2]: 100

YLegend[trunk2]: Trunk 2

ShortLegend[trunk2]: Yüzde

LegendI[trunk2]:  Utilization:

LegendO[trunk2]:

 

#### ATM Trunk Monitoring

 

# Note we have two different OIDs (Tx and Rx directions) for ATM trunks

# First OID mscTrkAtmLastCalculatedTxVccUtilization 1.3.6.1.4.1.562.36.2.1.60.3.15.1.2.1.1           

# Second OID mscTrkAtmLastCalculatedVccUtilization 1.3.6.1.4.1.562.36.2.1.60.3.15.1.1.1.1

# Note that Tx and Rx utilizations can be quite different depending on topology

# Trunk utilization can exceed %100, refer to Passport NTP.

 

Target[atm]: 1.3.6.1.4.1.562.36.2.1.60.3.15.1.2.1.1&1.3.6.1.4.1.562.36.2.1.60.3.15.1.1.1.1:public@192.168.101.70

MaxBytes[atm]: 200

Title[atm]: ATM TRUNK

Options[atm]: gauge, growright, nopercent

XSize[atm]: 600

YSize[atm]: 100

YLegend[atm]: ATM Trunk

ShortLegend[atm]: Yüzde

LegendI[atm]:   Transmit Utilization:

LegendO[atm]:   Receive Utilization:

 

Target[atm2]: 1.3.6.1.4.1.562.36.2.1.60.3.15.1.2.2.1&1.3.6.1.4.1.562.36.2.1.60.3.15.1.1.2.1:public@192.168.101.70

MaxBytes[atm2]: 200

Title[atm2]: ATM TRUNK 2

Options[atm2]: gauge, growright, nopercent

XSize[atm2]: 600

YSize[atm2]: 100

YLegend[atm2]: ATM Trunk 2

ShortLegend[atm2]: Yüzde

LegendI[atm2]:   Transmit Utilization:

LegendO[atm2]:   Receive Utilization:

############################################################

# ATMIF Monitoring

# 1.3.6.1.4.1.562.36.2.1.114.150.1.13.1 = txcell

# 1.3.6.1.4.1.562.36.2.1.114.150.1.23.1 = rxcell

# Last number is the instance (1 in this example)

#

#############################################################

Target[atmif]: 1.3.6.1.4.1.562.36.2.1.114.150.1.13.1&1.3.6.1.4.1.562.36.2.1.114.150.1.23.1:public@192.168.101.70

MaxBytes[atmif]: 200000

Title[atmif]: ATM Interface 1

Options[atmif]: growright, nopercent

XSize[atmif]: 600

YSize[atmif]: 100

YLegend[atmif]: ATM IF

ShortLegend[atmif]: Cell

LegendI[atmif]:   Transmit Utilization:

LegendO[atmif]:   Receive Utilization:

 

 

 

 

 

 

Workdir: c:\mrtg\data

 

1