- 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 Installation
Once 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:
- atropos.start.InjectSnmp
- atropos.load.LoadGen
- atropos.start.Flood
- atropos.start.AvnmpSmartDriver
Then from the shell you can execute:
snmpwalk -p 5000 <HOST_TO_CHECK> public .1.3.6.1.3.75
The 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 Atropos
The 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.
|