> 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/.
