| 
         This chapter assumes that previous chapters covering the running
of the system have been read and understood.  In this appendix, we discuss 
how to set up your environment so that you may easily query the MIB's on each
of the nodes.  Installation
  First you must make sure that you have a snmp client installed on your 
system. You can check for this by looking for the snmp, and snmpwalk 
executable on your system. If not, you can get the one at http://net-snmp.sourceforge.net/ Next, we must set up the working environment. 
  First, create a directory: ${HOME}/.snmp Next, create a directory: ${HOME}/.snmp/mibs Place AVNMP-MIB.txt, AVNMP-LOADVARS-MIB.txt, and AVNMP-PREDVARS-MIB.txt 
(that can be found in ATROPOS_BASE_DIR/mibs) into ${HOME}/.snmp/mibs  To finish up the installation, you must set the environment variable
          MIBS to point to the ~/.snmp/mibs directory (note the
leading '+' in the list of file names) 
  If you are using csh derivatives: 
 
          
  setenv MIBS +AVNMP-LOADPRED-MIB:AVNMP-MIB:AVNMP-PREDVARS-MIB 
  For bash derivatives:
  export MIBS=+AVNMP-LOADPRED-MIB:AVNMP-MIB:AVNMP-PREDVARS-MIB  Checking InstallationOnce you've properly set up your system, you can check to make sure the installation
was successful. Startup magician and atropos, and then inject the following
applications into the active network:
 Then from the shell you can execute: atropos.start.InjectSnmp atropos.load.LoadGen atropos.start.Flood atropos.start.AvnmpSmartDriver  snmpwalk -p 5000 <HOST_TO_CHECK> public .1.3.6.1.3.75The returned values should be period-separated strings.  If they contain 
period-separated digit values, then the installation was not successful. Please
make sure you snmp installation is correct and that your $MIBS value is properly
set. Example output should look similar to the following: Using Port: 5000 
      Name: .iso.org.dod.internet.experimental.active.loadApp.loadAppPackets.0 
-> INTEGER: 664
 Name: .iso.org.dod.internet.experimental.active.loadApp.loadAppUptime.0 
-> INTEGER: 34271
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPIndex.1 
-> INTEGER: 1
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPID.1 
-> OCTET STRING- (ascii):    AN-1
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPLVT.1 
-> INTEGER: 140000
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPQRSize.1 
-> INTEGER: 1
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPQSSize.1 
-> INTEGER: 6
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPCausalityRollbacks.1 
-> INTEGER: 0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPToleranceRollbacks.1 
-> INTEGER: 0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPSQSize.1 
-> INTEGER: 8
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPActTolerance.1 
-> INTEGER: 500
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPGVT.1 
-> INTEGER: 0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPLookAhead.1 
-> INTEGER: 200000
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPGvtUpdate.1 
-> INTEGER: 4294967295
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPStepSize.1 
-> INTEGER: 20000
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPReal.1 
-> INTEGER: 0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPVirtual.1 
-> INTEGER: 7
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPNumPkts.1 
-> INTEGER: 7
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPNumAnti.1 
-> INTEGER: 0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPPredAcc.1 
-> OCTET STRING- (ascii):       0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPPropX.1 
-> OCTET STRING- (ascii): 0.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPPropY.1 
-> OCTET STRING- (ascii): 0.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPETask.1 
-> OCTET STRING- (ascii): 26.285714285714285
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPETrb.1 
-> OCTET STRING- (ascii):  0.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPVmRate.1 
-> OCTET STRING- (ascii):        0.27469293254326416
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPReRate.1 
-> OCTET STRING- (ascii):        NaN
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPSpeedup.1 
-> OCTET STRING- (ascii):       0.003826758129642607
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPELkAhead.1 
-> OCTET STRING- (ascii):      60457.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPNumNoState.1 
-> Wrong Type (should be INTEGER): OCTET STRING- (ascii):    
0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPStatePred.1 
-> OCTET STRING- (ascii):     420.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPPktPred.1 
-> OCTET STRING- (ascii):       660.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPTdiff.1 
-> OCTET STRING- (ascii): 5578.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPStateError.1 
-> OCTET STRING- (ascii):    240.0
 Name: .iso.org.dod.internet.experimental.active.avnmpMIB.lP.lPTable.lPEntry.lPUptime.1 
-> INTEGER: 25533
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionID.1 
-> OCTET STRING- (ascii): AN-1
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPort.1 
-> INTEGER: 3325
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.4847 
-> INTEGER:
 240
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.20000 
-> INTEGER: 420
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.40000 
-> INTEGER: 460
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.60000 
-> INTEGER: 497
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.80000 
-> INTEGER: 540
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.100000 
-> INTEGER: 580
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.120000 
-> INTEGER: 619
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedLoad.140000 
-> INTEGER: 660
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.4847 
-> INTEGER:
 4847
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.20000 
-> INTEGER: 20000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.40000 
-> INTEGER: 40000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.60000 
-> INTEGER: 60000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.80000 
-> INTEGER: 80000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.100000 
-> INTEGER: 100000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.120000 
-> INTEGER: 120000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionPredictedTime.140000 
-> INTEGER: 140000
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionCurrentLoad.1 
-> INTEGER: 15949
 Name: .iso.org.dod.internet.experimental.active.loadPredMIB.loadPrediction.loadPredictionTable.loadPredictionEntry.loadPredictionCurrentTime.1 
-> INTEGER: 25639
 End of MIB.
  Gathering Information From AtroposThe final step is to collect information from a running Atropos system. This
can be accomplished by executing the perl scripts found in ATROPOS_BASE_DIR/bin. 
There is one main script that will accomplish what most people would need. 
The poll.pl script will properly form the command line arguements necessary
. You must edit the poll script so it knows what machine names it should
query.By simply executing the poll.pl script, it will automatically 
generate output into files that are named by the queried object. |