Martin Jr., D. Michael wrote:

> We are a small University with, so far, a small wireless Access Point
> deployment and, of course, a small budget.  As our wireless network
> grows we are finding it more and more important to compile usage
> statistics of the wireless network.  At least, for now, what would be
> good is to be able to know the number of clients on a specific access
> point within a give hour (Mac addresses and VLANs used would be nice
> too).


We poll ours with MRTG. Just snarf the MIB object for number of associated clients or write a quick&dirty that walks the forwarding table and counts the number on the wireless interface. You can also do standard MRTG polling for interface utilization.

Attached is a script we use for walking the forwarding table.

--ckg


********** Participation and subscription information for this EDUCAUSE Constituent Group discussion list can be found at http://www.educause.edu/cg/.
#! /usr/local/bin/tcl
package require Tnm

# macCount.scotty
# (c) Steven Lee, Virginia Tech, 05/25/2000
#
# macCount polls a bridge's mac table and counts the number of active mac
# addresses on port number 2.
# Port 2 is the wireless ethernet port on most 802.11 bridges.  The output
# is in a format which MRTG recognizes and is as follows:
#
#  # of mac addresses
#  0       (this is always  zero, because MRTG expects 2 values per graph)
#  system uptime
#  ip address
#
#load the Bridge mib

mib load BRIDGE-MIB.my

set ip $argv
set comm iastsmnbp

if [catch {set snmp [snmp session -address $ip -community $comm]
  set uptime [$snmp get "sysUpTime.0"]
  set uptime [lindex [lindex $uptime 0] 2]

  $snmp walk variables "dot1dTpFdbAddress dot1dTpFdbPort dot1dTpFdbStatus" {
    set MACaddress [lindex [lindex $variables 0] 2]
    set port [lindex [lindex $variables 1] 2]
    set status [lindex [lindex $variables 2] 2]
    if {($port == 2) && ($status == "learned")} {
      lappend address $MACaddress
    }
  }
} error] {
  puts "0\n0\n0\n$ip"
  set logfile [open /home/mrtg/scripts/macCount.log a]
  puts $logfile "$ip $error"
  close $logfile
  exit
}
$snmp destroy

# output in MRTG format
if [info exists address] {
  set total [llength $address]
} else {
  set address ""
  set total 0
}

puts "$total\n0\n$uptime\n$ip"
unset address
exit

**********
Participation and subscription information for this EDUCAUSE Constituent Group 
discussion list can be found at http://www.educause.edu/cg/.

Reply via email to