[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

3256.0. "SNMP AM get table of variables..." by AEOEN2::BOMMART (WaveWalker 887-4108) Fri Jun 26 1992 15:04

Hi MCC gurus,

	We are using the SNMP AM.
	We have compiled and integrated in our local MCC dictionary the MIB
	extension of the SINTROM POD (Packet Observation Device) located in
	MCC_COMMON (SINTROM_POD_MIBDEF.TXT;1)

	A table of 1000 data is defined in this MIB extension. This table
	is named dtdrdata and is defined in the dictionary as:

	   Class (1) : SNMP
 	    Subclass (2) : SINTROMDATANET
	       Subclass (2) : PODMIB
	-------> Subclass (2) : DTDRDATA
	           Definition (3) : PRESENTATION_NAME
	           Definition (3) : INSTANCE_REQUIRED
	           Definition (3) : DYNAMIC
	           Definition (3) : INSTANCE_DATATYPE
 	          Attribute (5) : DTDRVOLTAGELEVEL 2
 	          Attribute (5) : DTDRTIMESLOT 3
	          Directive (6) : SHOW 1
	           Directive (6) : DIRECTORY 26
	           Directive (6) : REGISTER 29
	           Directive (6) : DEREGISTER 30
	           Directive (6) : ERASE 33
	           Attribute_Partition (11) : IDENTIFIERS 1
	           Attribute_Partition (11) : CHARACTERISTICS 4

	When we want to export these 1000 data to a RDB database:
	MCC>EXPORT SNMP podnode SINTROMDATANET PODMIB DTDRDATA *

 	the exporter FM creates 1000 threads to export individually these 1000
	data.

	Is there a more clever (and faster...) way to export this table ??

Any help would be appreciated,
Regards,
Damien.
T.RTitleUserPersonal
Name
DateLines
3256.11000 instances => 1000 exporting requestsTOOK::SHMUYLOVICHFri Jun 26 1992 15:4515
>	A table of 1000 data is defined in this MIB extension. 

	The problem is that you defined DTDRDATA as subclass which has a number
of instances (1000). After this you asked Exporter to export ALL instances of
this entity class and Exporter tries created an separate exporting request
for each entity instance.

	The only solution I can see is to move this table information from
    the identifier partition to another( may be characteristics?) and to
    have a single  DTDRDATA entity.


	Sam Shmuylovich
    
3256.2YAHEY::BOSEFri Jun 26 1992 19:5623
	Sam,
		DTRDATA is defined in the Sintrom POD mib as a table with
	upto 2400 rows in it. This table is indexed by dtdrTimeSlot. For
	that reason tables are modeled as subclasses with its index as
	an identifier attribute. Thus to get at the row corresponding to
	dtdrTimeSlot 200, one must specify

	MCC> show snmp blah sintromDataNet podMib dtdrData 200 all attr

	It is not possible to change the entity model and still have things
	work as above.

		TCPIP PA FM had a similar problem while trying to gather
	interface statistics. Chipcom has 272 interface instances, which
	would cause PA to create 272 threads and ultimately bring the
	system down to its knees. Finally the algorithm had to be changed
	to limit the total no. of threads created simultaneously. I don't
	know how the Exporter is going to handle this problem, but I guess
	something has to be done to prevent creating 1000 threads 
	at the same time.

	rahul.	
3256.3TOOK::SHMUYLOVICHFri Jun 26 1992 20:3921
    
    
    
	RE: .2
    
	The difference between TCPIP PA and Exporter is that TCPIP PA handles
 directive (Show ... All Statistics) only for one global entity class so it
 can be customized to the particular class. Exporter FM allows to export 
 information for any entity class in a generic way.

 On the wish list for V1.3 Historian FM has such function as One Time Record
 which allows to make a snap shot of data. This function will be done in
 foreground process and will not create multiple threads. Later it's possible
 to use a "past time Export" operation to export desired historical data into 
 RDB (past time export is also done in foreground in one thread).

 Do you think it is a reasonable solution?

  Sam
    
3256.4YAHEY::BOSEMon Jun 29 1992 13:367
	Sam,

	Sounds good. Any solution that limits the number of simultaneous
	threads created is a reasonable solution.

	Rahul.
3256.52400 subentities with the Iconic map PMAEOEN2::BOMMARTWaveWalker 887-4108Tue Jun 30 1992 07:4114
Thanks for your help. Back to these 2400 values...

When we use the Iconic Map PM, we double click on dtdrdata and we see ONLY
999 values of the table (from 1 to 999).

Is there a known restriction (bug ?) preventing the iconic map PM to display
more than 999 subentities in the same window ???

If we use the FCL PM, no problem to access the other values: dtdrdata 1000,
dtdrdata 1001, .... dtdrdata 2400

I thank you in advance,
Regards,
Damien.
3256.6re:.5 - no limitBARREL::LEMMONTue Jun 30 1992 12:1111
    re:.5
    
    Nope.  The iconic map will try to display them all.  Try issuing a 
    SHOW <class> <instance> dtdrdata *, to file tmp.dat
    
    Edit the file and see if all of the children are in the file.
    If they are there, send me mail {took::lemmon}.  If not, find out
    why your access module isn't returning all of them when a "*" is
    specified.
    
    /Jim
3256.7Problem not related to the Iconic Map...AEOEN1::BOMMARTWaveWalker 887-4108Thu Jul 09 1992 08:0442
Jim,
	Sorry for the late answer (I was not present).
	You are right !
	This problem is not related to the Iconic Map at all. We find the same
	behavior when we do a:

MCC> sho snmp groumph sintromdatanet podmib dtdrdata * all char, to file tmp.dat


	The file tmp.dat contains ONLY the 999 first values of the DTDRDATA
	table ! (it should contain 2400 values)

	When we try to access individually with the FCL PM the other values
	of the tables, it works:

MCC> sho snmp groumph sintromdatanet podmib dtdrdata 1000 all char

SNMP groumph sintromDatanet podMIB dtdrData 1000
AT  9-JUL-1992 09:39:14 Characteristics

Examination of attributes shows:
                       dtdrVoltageLevel = 134

MCC> sho snmp groumph sintromdatanet podmib dtdrdata 2400 all char

SNMP groumph sintromDatanet podMIB dtdrData 2400
AT  9-JUL-1992 09:39:35 Characteristics

Examination of attributes shows:
                       dtdrVoltageLevel = 0




Therefore the problem seems to come from the wildcarding with the SNMP AM...

Is there a known restriction (bug ?) in the standard TCP/IP SNMP Access Module
preventing to handle more than 999 values in a MIB table ??

I thank you in advance,
Regards,
Damien.
3256.8YAHEY::BOSEThu Jul 09 1992 14:1125
	Damien,
		The SNMP AM has no restrictions at all regarding the number
	of table entries it can handle. It keeps doing an SNMP GetNext
	request on the table objects till it runs off the table. The AM
	decides whether it is still inside the table by looking at the
	objectid returned by the agent, (which should be for the lexinext 
	object). 

		The only explanation I can think of for the behaviour you 
	are encountering is that the agent is returning an objectid outside
	the table when a GetNext request is made to the 999th object. This
	would make the SNMP AM think that there no more rows left in the
	table, and consequently it will conclude its operations.

		You can verify this by walking through the mib using our
	mib query utility. On VMS define the symbol

		MQ :== $SYS$SYSTEM:MCC_TCPIP_MQ.EXE

	and use it as a foreign command. If you do not provide any options
	in the command invocation, the utility will provide you with a list
	of options and what they do.

	Rahul.
3256.9MQ host (domain name) ???AEOEN1::BOMMARTWaveWalker 887-4108Fri Jul 10 1992 12:1128
Rahul,
	Thank you very much for your (remote) help.
	I really do appreciate it.

	I have defined the MQ foreign command and the only help that I get
	from this tool is:

$ mq
Program usage:  MIB_Query   Identifier   Pdu   Mode

Parameters:
        Identifier - The host (domain) name
        Pdu        - The SNMP Pdu ( 0 for Get, 1 for GetNext )
        Mode       - 0 for stepwise, 1 for continuous

The "Pdu" and "mode" parameters are obvious but the first one (identifier) is
not very clear for me. I have tried a lot of commands and have always received
the following answer:

	"Cannot resolve host name."

For example I have tried:
$ mq "snmp groumph sintromdatanet podmib dtdrdata" 1 0

Where is my mistake ? What does this tool expect in the "identifier" parameter ?
I thank you in advance (once again...)
Regards,
Damien.
3256.10Identifier is just the host name.YAHEY::BOSEFri Jul 10 1992 13:3114
	Damien,
		The identifier that the mib query utility expects is just
	the host name. So, to walk through the mib starting at a certain
	point, you have to do the following.

	$ mq groumph 1 0
	OID>

		The utility will prompt you for an object id at which to
	start the GetNext operation. You will have to enter the oid for 
	the beginning of the table to start stepping through it.

	Rahul.
3256.11Hum...still cannot resolve host name...AEOEN1::BOMMARTWaveWalker 887-4108Fri Jul 10 1992 16:4546
Hum...
I can't still use your tool. Did it work with DECmcc T1.2.7. (I haven't had the
time to install the SSB V1.2)
Here are exactly the commands that I execute: You can see that with the FCL PM
I can access without any problem the TCPIP node "groumph".
Any idea why I get the message "Cannot resolve host name" ???
By the way (to avoid a new note exchange :-), what is the format expected by
your tool for the Object ID: something like:
	OID> "1.3.6.1.4.1.131.2.5.1.2.4" ???
	OID> "{ 1 3 6 1 4 1 131 2 5 1 2 4 }" ???
	OID> another syntax ???

Sorry to disturb you once again...
Regards,
Damien.

$ mq :== $sys$system:MCC_TCPIP_MQ.EXE
$ mq groumph 1 0
Cannot resolve host name.

$ manage/enterprise
DECmcc (T1.2.7)

MCC> show snmp groumph all attributes

SNMP groumph
AT 10-JUL-1992 18:08:13 All Attributes

                                Address = 16.188.192.170
                                   Name = -- Attribute Not Gettable
                        Registered Name = DSP_NS:.groumph
                         ipReachability = up
                              sysUpTime = 131760443
                             sysContact = -- Attribute Not Available
                               Location = "salle telecom engineering"
                    Implementation Desc = -- Attribute Not Available
                     Responsible Person = -- Attribute Not Available
                           Phone Number = -- Attribute Not Available
                           MAIL Account = -- Attribute Not Available
                    Implementation Desc = -- Attribute Not Available
                     Responsible Person = -- Attribute Not Available
                           Phone Number = -- Attribute Not Available
                           MAIL Account = -- Attribute Not Available
                                Remarks = -- Attribute Not Available
                              Text File = -- Attribute Not Available
MCC>
3256.12Is GROUMPH defined?TOOK::MINTZErik Mintz, dtn 226-5033Fri Jul 10 1992 16:5012
>$ mq groumph 1 0
>Cannot resolve host name.


This symptom suggests that a call to UCX to translate the name
to address is failing.
Is "GROUMPH" in your UCX database?  UCX is case sensitive, and VMS
translates to upper case by default.  You can check with

$ UCX SHOW HOST GROUMPH
$ UCS SHOW HOST "groumph"

3256.13is GROUMPH defined?TOOK::MINTZErik Mintz, dtn 226-5033Fri Jul 10 1992 16:5112
>$ mq groumph 1 0
>Cannot resolve host name.


This symptom suggests that a call to UCX to translate the name
to address is failing.
Is "GROUMPH" in your UCX database?  UCX is case sensitive, and VMS
translates to upper case by default.  You can check with

$ UCX SHOW HOST GROUMPH
$ UCX SHOW HOST "groumph"

3256.14YAHEY::BOSEFri Jul 10 1992 21:124
	The format for specifying the oid is -

	OID> 1.3.6.1.4.1..........
3256.15MQ tool is working now...AEOEN2::BOMMARTWaveWalker 887-4108Tue Jul 28 1992 13:3848
First of all my apologies for this late reply...

Thank you Erik you were right, the "problem" came from the command line I gave
to the MQ tool. The correct one is the following:

	$ mq "GROUMPH" 1 1

Using MQ, I can easily scan the complete object tree and retrieve the 2400
values of the DTDRDATA table. Here is an extract of the MQ.LOG file that I
have copied in the DECnet account of our cluster ANNECY:: (you can copy this
file by issuing a $ COPY ANNECY""::MQ.LOG ...)

Object ID: 1.3.6.1.4.1.131.2.5.1.2.4.1.2.1.
Value = 134

/* A lot of lines skipped.... */

Object ID: 1.3.6.1.4.1.131.2.5.1.2.4.1.2.2400.
Value = 255

Object ID: 1.3.6.1.4.1.131.2.5.1.2.1.1.0.
Value = 0

Object ID: 1.3.6.1.4.1.131.2.5.1.2.2.1.0.
Value = 3

/* etc, etc... your tool continues to scan the object tree, but my interest
 * being only for the DTDRDATA table, I have done a CTRL/Y...
 */

In my opinion this test shows that the SNMP agent in the POD is working
correctly. Does this mean that the problem comes from the standard MCC TCPIP AM
(wildcarding) ? 

When I enter through the FCL PM the command:

MCC> show snmp groumph sintromdatanet podmib dtdrdata * all char, to file g.log

I ONLY GET THE 999 FIRST VALUES OF THE DTDRDATA TABLE !

I have also copied the G.LOG file in the DECnet account of the ANNECY cluster
and you can therefore retrieve it if you want.

Do you want me to do some more tests ? What is your opinion about this behavior
?

I thank you in advance for your help,
Damien.
3256.16We haven't forgotten you.YAHEY::BOSEThu Jul 30 1992 18:048
	Damien,
		Please bear with us for a few more days. We have your problem
	in mind and we'll get to it as soon as we can free up some time.

	Thanks for your patience,

	Rahul.