Monitoring the SDM300A Satellite Modem


 

TABLE OF CONTENTS


INTRODUCTION

There are different ways to monitor and graph the data from the SDM300a Satellite Modem. In our case, there are three different implementations that we did to come up with the same goal, to monitor and graph the data from SDM300a Satellite. Modem.

In monitoring the SDM300a satellite modem, we used the following softwares to come up with the final graph outputs.

  1. UCD-SNMP v4.1.1 - Software that implements SNMP (Simple Network Management Protocol) that we used in monitoring the satellite modem.
  2. MRTG v2.8.12 - A software that graphs data from either an SNMP MIB (Management Information Base) or from an external data gatherer.
  3. RRDTool v1.0.16 - A software like MRTG that graphs data from a source but is a more robust type of graphing data.
The operating system that we used was FreeBSD v3.4 running on a 128MB ram and a 486DX2 processor.


OVERVIEW OF SNMP
 by Mel Brinkley, UCNS Telecommunications Systems Analyst

Chances are that when you load TCP/IP on your PC, you will see the term "SNMP" and the system will ask you for certain information. SNMP is Simple Network Management Protocol and is widely used in the
management of IP networks. In this article we'll foc us on answering the question: How does SNMP work?

Managing contemporary computer networks requires an approach that simplifies the potentially complex problems of communication and coordination. The prevailing approach, and the one adopted by SNMP, is to
view the network as a collection of cooperative c ommunicating entities.

There are basically two types of entities: management nodes (managers) and managed nodes (agents).

MANAGERS

A manager is a node that actively participates in network management. It solicits and interprets data about network devices and network traffic, and typically interacts with users to achieve their intentions. A manager
can also trigger changes in an agent by changing the value of a variable on the agent node. Managers are frequently implemented as network management applications.

UCNS uses a RISC 6000 computer running AIX for NetView as a network management station.

AGENTS

An SNMP agent is software that resides on a network node and is responsible for communicating with managers regarding that node. The node is represented as a managed object having various fields or variables that
are defined in the appropriate MIB.

The agent has two purposes:

    1.To respond to requests from managers, supplying or changing the values of the object's variables as requested.
    2.To generate traps to alert managers of noteworthy events occurring at the node, such as a component failure.

Not all devices support SNMP directly. Devices that do not can have a proxy agent that translates between SNMP and itself.

If you load SNMP with your TCP/IP package, then your computer could be considered as having an SNMP agent on it.

Many nodes do not have SNMP agents on them and are considered unmanaged. However, a network management application such as NetView is aware of their presence, obtains as much information about them as it
can from the domain name server, and can monitor their up and down status with the ICMP echo.

MANAGER and AGENT INTERACTION

The manager communicates with the agent by SNMP messages which are in the form of requests. Managers do not need to know any internal details about the object managed by an agent. Likewise, an SNMP agent
can service requests from many SNMP managers. The agent does not need to know the context of the request or the structure of the manager making the request. The agent validates the request, services it, and enters
its passive state--awaiting the next request. This division of responsibilities simplifies network management solutions.

TRAPS

Generally, the manager requests information from the agent and the agent then responds. However, it is possible for an agent to issue messages without a corresponding request. Such a message is known as a trap.
Traps exist to handle special conditions. For example, if an interface on our main router goes down, the router agent will notify the network management station.

MANAGEMENT INFORMATION BASE (MIB)

The MIB is a method of describing managed objects by specifying the names, types, and order of the fields (or variables) that make up the object. The MIB can either be a standard one or can be what is known as an
enterprise MIB.

Enterprise MIBs are those written by vendors for their particular object. The managed object can furnish both standard MIB and enterprise MIB information if there is an enterprise MIB written for it. There are many
enterprise MIBs. CISCO systems, Cabletron, and IBM, for example, all have MIBs for their equipment.

The Internet MIB-II is one of many standard MIBs. The purpose of the MIB-II is to define common objects for managing TCP/IP networks. When you activate SNMP and are asked for information such as
SysContact, SysName and SysLocation, you are loading values for the MIB-II. It is quite common.

HOW DOES IT ALL WORK?

As an example, UCNS monitors traffic coming into the campus-wide broadband network from the building bridges as well as traffic on the bridge LAN, which could consist of several local LANs. Each of the 123
bridges has two interfaces, one on the local side and one on the broadband side.

Traffic going in and out of the interfaces needs to be monitored. To do this, two MIB-II variables--ifOutOctets and ifInOctets--were chosen. (An octet is an eight bit measurement.)

The manager is set up to sample the count every 5 minutes, 24 hours a day. Every five minutes a request is made of the bridge agent for the information. The agent responds and the information is stored in collection files.
In addition, thresholds are set for certain levels and the manager responds when these levels are exceeded.

If traffic in one particular area is of concern, the manager can request the traffic at greater frequency to get a more minute picture of traffic flow. Finally, if the traffic flow is such that data is being impeded, management
efforts such as re- engineering can begin.

There is a tendency to believe that slow network response time is due to network traffic volume. Unfortunately, there are many reasons why the response time could be slow. Future articles will focus on some of them.


WHAT IS MULTI ROUTER TRAFFIC GRAPHER
by Tobias Oetiker

The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. MRTG generates HTML pages containing GIF images which provide a LIVE visual representation of this traffic. Check http://www.ee.ethz.ch/stats/mrtg/ for an example. MRTG is based on Perl and C and works under UNIX and Windows NT. MRTG is being successfully used on many sites around the net. Check the MRTG-Site-Map.

MRTG consists of a Perl script which uses SNMP to read the traffic counters of your routers and a fast C program which logs the traffic data and creates beautiful graphs representing the traffic on the monitored network connection. These graphs are embedded into webpages which can be viewed from any modern Web-browser.

In addition to a detailed daily view, MRTG also creates visual representations of the traffic seen during the last seven days, the last four weeks and the last twelve months. This is possible because MRTG keeps a log of all the data it has pulled from the router. This log is automatically consolidated, so that it does not grow over time, but still contains all the relevant data for all the traffic seen over the last two years. This is all performed in an efficient manner. Therefore you can monitor 50 or more network links from any halfway decent UNIX box.

MRTG is not limited to monitoring traffic though, it is possible to monitor any SNMP variable you choose. You can even use an external program to gather the data which should be monitored via MRTG. People are using MRTG, to monitor things such as System Load, Login Sessions, Modem availability and more. MRTG even allows you to accumulate two or more data sources into a single graph.

Some sample graphs from http://www.ee.ethz.ch/stats/mrtg/:
MRTG Demo Graph 1MRTG Demo Graph 2
MRTG Demo Graph 3MRTG Demo Graph 4


ABOUT RRDTOOL
by Tobias Oetiker

If you know MRTG, you can think of RRDtool as a reimplementation of MRTGs graphing and logging features. Magnitudes faster and more flexible than you ever thought possible

RRD is the Acronym for Round Robin Database. RRD is a system to store and display time-series data (i.e. network bandwidth, machine-room temperature, server load average). It stores the data in a very compact way that will not expand over time, and it presents useful graphs by processing the data to enforce a certain data density. It can be used either via simple wrapper scripts (from shell or Perl) or via frontends that poll network devices and put a friendly user interface on it.

RRDtool is available for download from this site. Currently it compiles on a number of different Unix platforms as well as on NT. No binaries are officially provided at this point in time.

RRDtool is free software and comes with a GNU license. Nevertheless you can do something to show your gratitude for RRDtool: Check it out!

RRDtool is not a full replacement for MRTG, as it does not implement all the frontend and data aquisition features of MRTG. But it is an excellent base for building tools which work much like MRTG only better. Eventually, MRTG-3 will be built on top of RRDtool. You do not have to wait though. If you can program yourselfe you can use RRDtool right out of the box or if you don't program you can use one of several frontends which use RRDtool.

If you want to stay with MRTG-2 go into the contrib folder of the latest release and take a close look at 14all.

RRDtool does not have a GUI or anything presentable like this yet, but you can use RRDtool to create GIF images visualizing the data collected with it. Here are two sample images. They do not represent any sensible data, they simply show some of the features of RRDtool. Most of the visual aspects of the graphs are auto configured, but can be overridden when needed.

RRDTool Demo Graph 2

INSTALLATION PROCESS

UCD-SNMP v4.1.1

Download UCD-SNMP-4.1.1 at ftp://ucd-snmp.ucdavis.edu/ucd-snmp-4.1.1.tar.gz, put the file in /usr/local/ directory then follow the following procedures:

  1. Reinstall kernel development files

  2. Decompressing
    # cd /ucd/local/
    # gzip -c -d ucd-snmp-4.1.1.tar.gz | tar -xvf -
     
  3. Go to ucd-snmp working directory
    1. Run ./configure to prepare the tree.
    2. Optionally edit config.h (due to prompting done by the configure script, this is rarely necessary.)
    3. Run 'make' to compile the package.
    4. As root: type 'make install' to install programs and data files and documentation.
    5. You can remove the program binaries and object files from the source code directory by typing 'make clean'. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), type 'make distclean'.
  4. Configure system information:

  5. syscontact: root@ai3-router.asti.dost.gov.ph
    syslocation:
    logfile: /var/log/snmpd.log
    snmplibrary: /var/ucd-snmp
     
  6. Configure startup config files:

  7. /usr/local/share/snmp/snmpd.conf

    NOTE: You can get an sample snmpd.conf by copying the file 'EXAMPLE.conf' from the directory /usr/local/ucd-snmp-4.1.1/ then rename it to 'snmpd.conf'.
     

  8. Reboot system.
  9. Test SNMP on target machine
  10. snmpd - daemon to respond to SNMP request
    snmptrapd - receive and log snmp trap messages
    snmpbulkget - communicates with a network entity using SNMP BULK Requests
    snmpbulkwalk - communicates with a network entity using SNMP BULK requests
    snmpdelta - monitor deltas of integer valued SNMP variables
    snmpget - communicates with a network entity using SNMP GET Requests
    snmpgetnext - communicates with a network entity using SNMP GET NEXT Requests
    snmpnetstat - show network status using SNMP
    snmpset - communicates with a network entity using SNMP SET Requests
    snmpstatus - retrieves important information from a network entity
    snmptable - obtain and print an SNMP table
    snmptest - communicates with a network entity using SNMP Requests
    snmptranslate - translate SNMP objects into more useful information
    snmptrap - sends an SNMP trap to a manager
    snmpusm - creates and maintains SNMPv3 user's on a remote entity
    snmpwalk - communicates with a network entity using SNMP GET Next Requests
For more information, go to: http://ucd-snmp.ucdavis.edu/tutorial/
 


MRTG v2.8.12

Download MRTG from http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html then put the file in /usr/local/ directory.

Note: Before you install MRTG, be sure you have a web server installed in your system (ie. apache web server) so that the web pages created by MRTG can be viewed from another workstation or network.

  1. Decompress prerequisite files
    1. Change to temporary directory where packages are found
    2. zlib.tar.gz

    3. # gunzip -c zlib.tar.gz | xf -
      # mv zlib-1.1.3/ zlib
      # cd zlib
      # ./configure
      # make
      # cd ..
    4. libpng-1.0.5.tar.gz

    5. # gunzip -c libpng-1.0.5.tar.gz | tar xf -
      # mv libpng-1.0.5 libpng
      # cd libpng
      # make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
      # rm *.so *.o
      # cd ..
    6. gd-1.7.3.tar.gz

    7. # gunzip -c gd-1.7.3.tar.gz | tar xf -
      # cd gd-1.7.3
      # make INCLUDEDIRS="-I../zlib -I../libpng" LIBDIRS="-L../zlib -L../libpng" LIBS="-lgd -lpng -lz -lm"
      # cd ..
  2. Decompress installation files
    1. mrtg-2.8.12.tar.gz

    2. Go to /usr/local/ (where mrtg-2.8.12 is located)
      # gunzip -c mrtg-2.8.12.tar.gz | tar xf -
      # cd mrtg-2.8.12
  3. Run makefile

  4. # ./configure --with-gd=../gd-1.7.3 --with-z=../zlib --with-png=../libpng
    # make
     
  5. Copy the contents of the "run" subdirectory to your favorite location for the binaries of packages (eg. /usr/local/bin).
  1. Configuring the mrtg.cfg file.

  2. # cd run
    # ./cfgmaker public@ai3-router.asti.dost.gov.ph > mrtg.cfg
    # vi mrtg.cfg

     Workdir: /usr/local/www/data/mrtg (location on html created files)
    (refer to doc/config.txt)
     

  3. Running mrtg

  4. # mrtg /usr/local/bin/mrtg.cfg (run 2x)

    Note: When you start MRTG for the very first time, rateup will complain that it can not find any logfiles and the graphs generated will look rather empty. Just ignore the complaints. If you remove the empty graphs, and run MRTG again, rateup will create new graphs which look better.
     

  5. Integrate MRTG

  6. Integrate mrtg into your crontab. Just add the following line to your crontab file to have MRTG run every 5 minutes (The line is broken for readbility only. Replace the backslash in the first line with the second line):

    0,5,10,15,20,25,30,35,40,45,50,55 * * * * \
    /usr/local/bin/mrtg /usr/local/bin/mrtg.cfg


RRDTool v1.0.16

Download the file rrdtool-1.0.16 and put it in /usr/local/.

  1. Decompress rrdtool-1.0.16.tar.gz

  2. # gzip -c -d rrdtool-1.0.16.tar.gz | tar -xvf -
  3. Change directory to rrdtool-1.0.16

  4. # cd rrdtool-1.0.16
  5. Run 'sh configure' to configure makefiles
  6. Run 'make' to compile the files
  7. Run 'make install' to install files.
Note: In our system, the compilation didn't finish for there are some errors generated during compilation. After running make & the error appeared, you can still continue by copying rrdtool binary from /usr/local/rrdtool-1.0.16/src/ to /usr/local/bin/ because we only need this file to generate a graph.
 
 
 
 


GRAPHS OF SDM300a SATELLITE MODEM


REFERENCES


GO TO TOP