ISDN Type Interface Statistics (Utilization & Throughput)
(SM-SmallSol013)
Solution’s SOSL Based management process script:
The solution defines the following main modules:
MainMIBTables:
This is the main module that controls and instantiates the ‘mibTables’ module.
MainFilterISDNTables:
This is the main module that controls and instantiates the ‘FilterISDNTables’ module.
MainIfISDN:
This is the main module that controls and instantiates the ‘ISDNINDEXES1’ and the ‘ISDNINDEXES2’ modules.
The details of the Main modules and the transient Service modules are provided below:
MODULE MainMIBTables ();
DESCRIPTION "Interface INVENTORY information";
BEGIN
POLL-FREQ
{
MODULE-CALL mibTables();
WAIT (12000);
};
END
MODULE MainFilterISDNTables ();
DESCRIPTION "Interface INVENTORY information";
BEGIN
POLL-FREQ
{
MODULE-CALL FilterISDNTables();
WAIT (12000);
};
END
MODULE MainIfISDN ();
DESCRIPTION "Normal Speed Interfaces Process";
BEGIN
ALL-DEV BY DEV
{
MODULE-CALL ISDNINDEXES1 (DEV);
};
POLL-FREQ
{
WAIT (3000);
ALL-DEV BY DEV
{
MODULE-CALL ISDNINDEXES2 (DEV);
};
};
END
MODULE mibTables ();
DESCRIPTION "Interface INVENTORY information";
BEGIN
ALL-DEV BY DEV
{
SET-INDEX ifTable ( ifDescr [ ifIndex, INT ] );
};
END
MODULE FilterISDNTables ();
DESCRIPTION "Interface INVENTORY information";
BEGIN
ALL-DEV BY DEV
{
###########################
# MSG (" DEVICE: @1", DEV);
###########################
WITH-INDEX ifTable
{
POLL ( ifDescr;
ifType;
ifSpeed;
ifAdminStatus;
ifMtu;
ifOperStatus;
ifAlias;
ifConnectorPresent);
DEFINE ifAdminStatus DB DISPL;
DEFINE ifType DB DISPL;
DEFINE ifOperStatus DB DISPL;
DEFINE ifSpeed DB DISPL;
DEFINE ifConnectorPresent DB DISPL;
IF ( ifAdminStatus == "up" AND
ifOperStatus == "up" AND
ifType == "^isdns$" OR
ifType == "^isdns$" )
THEN
STORE-INDEX "IfIsdn";
##########################################
# “IfIsdn“ index list now contains the list of all ISDN type
# interfaces on each of the managed elements
##########################################
ENDIF;
};
};
END
MODULE ISDNINDEXES1 (DEV DEVICE);
DESCRIPTION "";
BEGIN
WITH-INDEX IfIsdn
{
POLL ( ifInOctets;
ifOutOctets;
ifInUcastPkts;
ifInMulticastPkts;
ifOutUcastPkts;
ifInBroadcastPkts;
ifOutMulticastPkts;
ifOutBroadcastPkts;
sysUpTime;
ifCounterDiscontinuityTime);
};
END
MODULE ISDNINDEXES2 (DEV DEVICE);
DESCRIPTION "";
BEGIN
WITH-INDEX IfIsdn
{
DEFINE ifInOctetsT1 INT;
DEFINE ifOutOctetsT1 INT;
DEFINE ifInUcastPktsT1 INT;
DEFINE ifInMulticastPktsT1 INT;
DEFINE ifInBroadcastPktsT1 INT;
DEFINE ifOutUcastPktsT1 INT;
DEFINE ifOutMulticastPktsT1 INT;
DEFINE ifOutBroadcastPktsT1 INT;
DEFINE nTime1 INT;
DEFINE ifDisconTime1 INT;
DEFINE ifInOctets DB INT;
DEFINE ifOutOctets DB INT;
DEFINE ifInUcastPkts DB INT;
DEFINE ifInMulticastPkts DB INT;
DEFINE ifInBroadcastPkts DB INT;
DEFINE ifOutUcastPkts DB INT;
DEFINE ifOutMulticastPkts DB INT;
DEFINE ifOutBroadcastPkts DB INT;
DEFINE sysUpTime DB INT;
DEFINE ifCounterDiscontinuityTime DB INT;
ifInOctetsT1 = ifInOctets;
ifOutOctetsT1 = ifOutOctets;
ifInUcastPktsT1 = ifInUcastPkts;
ifInMulticastPktsT1 = ifInMulticastPkts;
ifInBroadcastPktsT1 = ifInBroadcastPkts;
ifOutUcastPktsT1 = ifOutUcastPkts;
ifOutMulticastPktsT1 = ifOutMulticastPkts;
ifOutBroadcastPktsT1 = ifOutBroadcastPkts;
nTime1 = sysUpTime /100;
ifDisconTime1 = ifCounterDiscontinuityTime;
RMV ( ifInOctets;
ifOutOctets;
ifInUcastPkts;
ifInMulticastPkts;
ifOutUcastPkts;
ifInBroadcastPkts;
ifOutMulticastPkts;
ifOutBroadcastPkts;
ifSpeed;
ifCounterDiscontinuityTime);
POLL ( ifDescr;
ifInOctets;
ifOutOctets;
ifInUcastPkts;
ifInMulticastPkts;
ifOutUcastPkts;
ifInBroadcastPkts;
ifOutMulticastPkts;
ifOutBroadcastPkts;
sysUpTime;
ifCounterDiscontinuityTime );
DEFINE ifInOctetsT2 INT;
DEFINE ifOutOctetsT2 INT;
DEFINE ifInUcastPktsT2 INT;
DEFINE ifInMulticastPktsT2 INT;
DEFINE ifInBroadcastPktsT2 INT;
DEFINE ifOutUcastPktsT2 INT;
DEFINE ifOutMulticastPktsT2 INT;
DEFINE ifOutBroadcastPktsT2 INT;
ifInOctetsT2 = ifInOctets;
ifOutOctetsT2 = ifOutOctets;
ifInUcastPktsT2 = ifInUcastPkts;
ifInMulticastPktsT2 = ifInMulticastPkts;
ifInBroadcastPktsT2 = ifInBroadcastPkts;
ifOutUcastPktsT2 = ifOutUcastPkts;
ifOutMulticastPktsT2 = ifOutMulticastPkts;
ifOutBroadcastPktsT2 = ifOutBroadcastPkts;
DEFINE nTime2 INT;
DEFINE ifDisconTime2 INT;
nTime2 = sysUpTime /100;
ifDisconTime2 = ifCounterDiscontinuityTime;
###############################################
# MSG("ifDisconTime1 = @1, ifDisconTime2 = @2",
# ifDisconTime1, ifDisconTime2);
###############################################
IF (ifDisconTime2 == ifDisconTime1)
THEN
CounterData( DeltaifInOctets,
ifInOctetsT1,
ifInOctetsT2);
CounterData( DeltaifOutOctets,
ifOutOctetsT1,
ifOutOctetsT2);
CounterData( DeltaifInUcastPkts ,
ifInUcastPktsT1,
ifInUcastPktsT2);
CounterData( DeltaifInBroadcastPkts,
ifInBroadcastPktsT1,
ifInBroadcastPktsT2);
CounterData( DeltaifInMulticastPkts ,
ifInMulticastPktsT1,
ifInMulticastPktsT2);
CounterData( DeltaifOutUcastPkts,
ifOutUcastPktsT1,
ifOutUcastPktsT2);
CounterData( DeltaifOutBroadcastPkts,
ifOutBroadcastPktsT1,
ifOutBroadcastPktsT2);
CounterData( DeltaifOutMulticastPkts,
ifOutMulticastPktsT1,
ifOutMulticastPktsT2);
DEFINE InFrmOVHead INT;
DEFINE OutFrmOVHead INT;
###################################
# DEFINE FrmOVHead INT;
###################################
###################################
## The following formulas calculates the
## In/Out traffic Overhead values for all
## traffic passing for the particular interface type
###################################
InFrmOVHead = ( DeltaifInUcastPkts
+ DeltaifInBroadcastPkts
+ DeltaifInMulticastPkts) * (12);
OutFrmOVHead = ( DeltaifOutUcastPkts
+ DeltaifOutBroadcastPkts
+ DeltaifOutMulticastPkts) * (12);
#####################################
## Calculating the time difference between the
## first and second run polls as reported by each
## managed element
#####################################
DEFINE DeltaT INT;
DeltaT = nTime2 - nTime1;
#####################################
# MSG("ifSpeed = @1, DeltaT = @2",
# ifSpeed, DeltaT);
#####################################
DEFINE ifSpeed DB INT;
IF (ifSpeed != 0 AND DeltaT > 0)
THEN
###################################
## The following formulas calculates the
## In/OutUtilization values for all traffic passing
## for the particular interface type
###################################
DEFINE InTrafficUtilization DB INT;
DEFINE OutTrafficUtilization DB INT;
InTrafficUtilization = (DeltaifInOctets * 8) * 100 / (DeltaT * ifSpeed);
OutTrafficUtilization = (DeltaifOutOctets * 8) * 100/ (DeltaT * ifSpeed);
#####################################
# MSG("InTrafficUtil = @1, OutTrafficUtil = @2",
# InTrafficUtilization, OutTrafficUtilization);
#####################################
#####################################
## The following formulas calculates the
## In/OutUtilization values while accounting
## for traffic overheads for the particular interface
## type
#####################################
DEFINE InDataUtilization DB INT;
DEFINE OutDataUtilization DB INT;
InDataUtilization = (InFrmOVHead + DeltaifInOctets * 8)*100/ (DeltaT * ifSpeed);
OutDataUtilization = (OutFrmOVHead + DeltaifOutOctets * 8)*100/ (DeltaT * ifSpeed);
######################################
## The following formulas calculates the In/Out
## Throughput values for the particular interface type
######################################
DEFINE InThroughput DB INT;
DEFINE OutThroughput DB INT;
InThroughput = (DeltaifInOctets * 8) *1000 / DeltaT;
OutThroughput = (DeltaifOutOctets * 8) *1000 / DeltaT;
##############################################################
## The total utilization and Throughput could be calculated by enabling the following
# piece of code:
# DEFINE TotalPkts INT;
# DEFINE TotalInPkts INT;
# DEFINE TotalOutPkts INT;
# DEFINE TotalOctets INT;
#
# FrmOVHead = TotalPkts * (12);
#
# TotalInPkts = ( DeltaifInUcastPkts
# + DeltaifInMulticastPkts
# + DeltaifInBroadcastPkts );
#
# TotalOutPkts = ( DeltaifOutUcastPkts
# + DeltaifOutMulticastPkts
# + DeltaifOutBroadcastPkts );
#
# TotalPkts = TotalInPkts + TotalOutPkts;
#
# TotalOctets = DeltaifOutOctets + DeltaifInOctets;
#
# DEFINE TotalUtilization DB INT;
# DEFINE Throughput DB INT;
#
# TotalUtilization = ((TotalPkts*(12)) + TotalOctets*8)*100/(DeltaT * ifSpeed);
# Throughput = (TotalOctets * 8) *1000 / DeltaT;
##############################################################
ENDIF;
ENDIF;
};
END
|
Previous Page Page 4/6 Next Page |
[Small Solutions], [Professional Solutions], [Security
Solutions], [Development Solutions]
[Home], [About],
[Solutions
Center], [NMS
Market],
[Products & Services],
[Management
Technology], [Technical Support],
[Contact us],
[Site Map]