basic support for polling number of connected clients on Aironet and Airport devices, minor fixups

git-svn-id: http://www.observium.org/svn/observer/trunk@1418 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-07-18 18:28:32 +00:00
parent 9cd59f41af
commit 93bfb66c3c
8 changed files with 601 additions and 64 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ $config['nagios_plugins'] = "/usr/lib/nagios/plugins";
$config['title_image'] = "images/observium-logo.png";
$config['stylesheet'] = "css/styles.css";
$config['mono_font'] = "DejaVuSansMono";
$config['favicon'] = "favicon.ico";
$config['favicon'] = "images/observium-icon.png";
$config['header_color'] = "#1F334E";
$config['page_refresh'] = "300"; ## Refresh the page every xx seconds
$config['frong_page'] = "pages/front/default.php";
+5
View File
@@ -0,0 +1,5 @@
<?php
$version = snmp_get($device, "sysConfFirmwareVersion.0 ", "-Ovq", "AIRPORT-BASESTATION-3-MIB");
?>
+68
View File
@@ -0,0 +1,68 @@
<?php
echo "Wireless: ";
if ($device['type'] == 'network')
{
if ($device['os'] == 'airport')
{
echo "Checking Airport Wireless clients... ";
$wificlients1 = snmp_get($device, "wirelessNumber.0", "-OUqnv", "AIRPORT-BASESTATION-3-MIB") +0;
echo($wificlients1 . " clients\n");
# FIXME Also interesting to poll? dhcpNumber.0 for number of active dhcp leases
}
if ($device['os'] == 'ios' and substr($device['hardware'],0,4) == 'AIR-')
{
echo "Checking Aironet Wireless clients... ";
$wificlients1 = snmp_get($device, "cDot11ActiveWirelessClients.1", "-OUqnv", "CISCO-DOT11-ASSOCIATION-MIB");
$wificlients2 = snmp_get($device, "cDot11ActiveWirelessClients.2", "-OUqnv", "CISCO-DOT11-ASSOCIATION-MIB");
echo ($wificlients1 +0) . " clients on dot11Radio0, " . ($wificlients2 +0) . " clients on dot11Radio1\n";
}
if (isset($wificlients1) && $wificlients1 != "")
{
$wificlientsrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("wificlients-radio1.rrd");
if (!is_file($wificlientsrrd)) {
`rrdtool create $wificlientsrrd \
--step 300 \
DS:wificlients:GAUGE:600:-273:1000 \
RRA:AVERAGE:0.5:1:1200 \
RRA:MIN:0.5:12:2400 \
RRA:MAX:0.5:12:2400 \
RRA:AVERAGE:0.5:12:2400`;
}
rrdtool_update($wificlientsrrd,"N:".$wificlients1);
}
if (isset($wificlients2) && $wificlients2 != "")
{
$wificlientsrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("wificlients-radio2.rrd");
if (!is_file($wificlientsrrd)) {
`rrdtool create $wificlientsrrd \
--step 300 \
DS:wificlients:GAUGE:600:-273:1000 \
RRA:AVERAGE:0.5:1:1200 \
RRA:MIN:0.5:12:2400 \
RRA:MAX:0.5:12:2400 \
RRA:AVERAGE:0.5:12:2400`;
}
rrdtool_update($wificlientsrrd,"N:".$wificlients2);
}
}
echo "\n";
?>