diff --git a/includes/polling/os/ciscowlc.inc.php b/includes/polling/os/ciscowlc.inc.php index 34fad70e96..2d434bf6c3 100644 --- a/includes/polling/os/ciscowlc.inc.php +++ b/includes/polling/os/ciscowlc.inc.php @@ -42,17 +42,17 @@ $numAccessPoints = count($stats); $numClients = 0; foreach ($APstats as $key => $value) { - $numClients += $value['bsnApIfNoOfUsers']; + $numClients += $value['bsnApIfNoOfUsers']; } $rrdfile = $host_rrd.'/ciscowlc'.safename('.rrd'); if (!is_file($rrdfile)) { - rrdtool_create($rrdfile, ' --step 300 DS:NUMAPS:GAUGE:600:0:12500000000 DS:NUMCLIENTS:GAUGE:600:0:12500000000 '.$config['rrd_rra']); + rrdtool_create($rrdfile, ' --step 300 DS:NUMAPS:GAUGE:600:0:12500000000 DS:NUMCLIENTS:GAUGE:600:0:12500000000 '.$config['rrd_rra']); } $fields = array( - 'NUMAPS' => $numAccessPoints, - 'NUMCLIENTS' => $numClients + 'NUMAPS' => $numAccessPoints, + 'NUMCLIENTS' => $numClients ); $ret = rrdtool_update($rrdfile, $fields); @@ -64,7 +64,7 @@ if (!is_file($wificlientsrrd)) { } $fields = array( - 'wificlients' => $numClients + 'wificlients' => $numClients ); rrdtool_update($wificlientsrrd, $fields); @@ -74,111 +74,112 @@ $graphs['wifi_clients'] = true; $ap_db = dbFetchRows('SELECT * FROM `access_points` WHERE `device_id` = ?', array($device['device_id'])); foreach ($radios as $key => $value) { + + $indexName = substr($key, 0, -2); - $indexName = substr($key, 0, -2); + $channel = str_replace('ch', '', $value['bsnAPIfPhyChannelNumber']); + $mac = str_replace(' ', ':', $stats[$indexName]['bsnAPDot3MacAddress']); + $name = $stats[$indexName]['bsnAPName']; + $numasoclients = $value['bsnApIfNoOfUsers']; + $radionum = array_pop(explode('.',$key)); + $txpow = $value['bsnAPIfPhyTxPowerLevel']; + $type = $value['bsnAPIfType']; + $interference = 128 + $interferences[$key . '.' . $channel]['bsnAPIfInterferencePower']; + $radioutil = $loadParams[$key]['bsnAPIfLoadChannelUtilization']; - $channel = str_replace('ch', '', $value['bsnAPIfPhyChannelNumber']); - $mac = str_replace(' ', ':', $stats[$indexName]['bsnAPDot3MacAddress']); - $name = $stats[$indexName]['bsnAPName']; - $numasoclients = $value['bsnApIfNoOfUsers']; - $radionum = array_pop(explode('.',$key)); - $txpow = $value['bsnAPIfPhyTxPowerLevel']; - $type = $value['bsnAPIfType']; - $interference = 128 + $interferences[$key . '.' . $channel]['bsnAPIfInterferencePower']; - $radioutil = $loadParams[$key]['bsnAPIfLoadChannelUtilization']; + // TODO + $numactbssid = 0; + $nummonbssid = 0; + $nummonclients = 0; - // TODO - $numactbssid = 0; - $nummonbssid = 0; - $nummonclients = 0; + d_echo(" name: $name\n"); + d_echo(" radionum: $radionum\n"); + d_echo(" type: $type\n"); + d_echo(" channel: $channel\n"); + d_echo(" txpow: $txpow\n"); + d_echo(" radioutil: $radioutil\n"); + d_echo(" numasoclients: $numasoclients\n"); + d_echo(" interference: $interference\n"); - d_echo(" name: $name\n"); - d_echo(" radionum: $radionum\n"); - d_echo(" type: $type\n"); - d_echo(" channel: $channel\n"); - d_echo(" txpow: $txpow\n"); - d_echo(" radioutil: $radioutil\n"); - d_echo(" numasoclients: $numasoclients\n"); - d_echo(" interference: $interference\n"); + // if there is a numeric channel, assume the rest of the data is valid, I guess + if (!is_numeric($channel)) { + continue; + } - // if there is a numeric channel, assume the rest of the data is valid, I guess - if (is_numeric($channel)) { - $rrd_file = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename("arubaap-$name.$radionum.rrd"); - if (!is_file($rrd_file)) { - $dslist = 'DS:channel:GAUGE:600:0:200 '; - $dslist .= 'DS:txpow:GAUGE:600:0:200 '; - $dslist .= 'DS:radioutil:GAUGE:600:0:100 '; - $dslist .= 'DS:nummonclients:GAUGE:600:0:500 '; - $dslist .= 'DS:nummonbssid:GAUGE:600:0:200 '; - $dslist .= 'DS:numasoclients:GAUGE:600:0:500 '; - $dslist .= 'DS:interference:GAUGE:600:0:2000 '; - rrdtool_create($rrd_file, "--step 300 $dslist ".$config['rrd_rra']); - } + $rrd_file = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename("arubaap-$name.$radionum.rrd"); + if (!is_file($rrd_file)) { + $dslist = 'DS:channel:GAUGE:600:0:200 '; + $dslist .= 'DS:txpow:GAUGE:600:0:200 '; + $dslist .= 'DS:radioutil:GAUGE:600:0:100 '; + $dslist .= 'DS:nummonclients:GAUGE:600:0:500 '; + $dslist .= 'DS:nummonbssid:GAUGE:600:0:200 '; + $dslist .= 'DS:numasoclients:GAUGE:600:0:500 '; + $dslist .= 'DS:interference:GAUGE:600:0:2000 '; + rrdtool_create($rrd_file, "--step 300 $dslist ".$config['rrd_rra']); + } - $fields = array( - 'channel' => $channel, - 'txpow' => $txpow, - 'radioutil' => $radioutil, - 'nummonclients' => $nummonclients, - 'nummonbssid' => $nummonbssid, - 'numasoclients' => $numasoclients, - 'interference' => $interference, - ); + $fields = array( + 'channel' => $channel, + 'txpow' => $txpow, + 'radioutil' => $radioutil, + 'nummonclients' => $nummonclients, + 'nummonbssid' => $nummonbssid, + 'numasoclients' => $numasoclients, + 'interference' => $interference, + ); - rrdtool_update($rrd_file, $fields); + rrdtool_update($rrd_file, $fields); + $foundid = 0; + + for ($z = 0; $z < sizeof($ap_db); $z++) { + if ($ap_db[$z]['name'] == $name && $ap_db[$z]['radio_number'] == $radionum) { + $foundid = $ap_db[$z]['accesspoint_id']; + $ap_db[$z]['seen'] = 1; + continue; } + } - $foundid = 0; - - for ($z = 0; $z < sizeof($ap_db); $z++) { - if ($ap_db[$z]['name'] == $name && $ap_db[$z]['radio_number'] == $radionum) { - $foundid = $ap_db[$z]['accesspoint_id']; - $ap_db[$z]['seen'] = 1; - continue; - } - } - - if ($foundid == 0) { - $ap_id = dbInsert( - array( - 'device_id' => $device['device_id'], - 'name' => $name, - 'radio_number' => $radionum, - 'type' => $type, - 'mac_addr' => $mac, - 'channel' => $channel, - 'txpow' => $txpow, - 'radioutil' => $radioutil, - 'numasoclients' => $numasoclients, - 'nummonclients' => $nummonclients, - 'numactbssid' => $numactbssid, - 'nummonbssid' => $nummonbssid, - 'interference' => $interference - ), - 'access_points'); - } else { - dbUpdate( - array( - 'mac_addr' => $mac, - 'type' => $type, - 'deleted' => 0, - 'channel' => $channel, - 'txpow' => $txpow, - 'radioutil' => $radioutil, - 'numasoclients' => $numasoclients, - 'nummonclients' => $nummonclients, - 'numactbssid' => $numactbssid, - 'nummonbssid' => $nummonbssid, - 'interference' => $interference - ), - 'access_points', - '`accesspoint_id` = ?', array($foundid)); - } + if ($foundid == 0) { + $ap_id = dbInsert( + array( + 'device_id' => $device['device_id'], + 'name' => $name, + 'radio_number' => $radionum, + 'type' => $type, + 'mac_addr' => $mac, + 'channel' => $channel, + 'txpow' => $txpow, + 'radioutil' => $radioutil, + 'numasoclients' => $numasoclients, + 'nummonclients' => $nummonclients, + 'numactbssid' => $numactbssid, + 'nummonbssid' => $nummonbssid, + 'interference' => $interference + ), + 'access_points'); + } else { + dbUpdate( + array( + 'mac_addr' => $mac, + 'type' => $type, + 'deleted' => 0, + 'channel' => $channel, + 'txpow' => $txpow, + 'radioutil' => $radioutil, + 'numasoclients' => $numasoclients, + 'nummonclients' => $nummonclients, + 'numactbssid' => $numactbssid, + 'nummonbssid' => $nummonbssid, + 'interference' => $interference + ), + 'access_points', + '`accesspoint_id` = ?', array($foundid)); + } }//end foreach for ($z = 0; $z < sizeof($ap_db); $z++) { - if (!isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) { - dbUpdate(array('deleted' => 1), 'access_points', '`accesspoint_id` = ?', array($ap_db[$z]['accesspoint_id'])); - } + if (!isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) { + dbUpdate(array('deleted' => 1), 'access_points', '`accesspoint_id` = ?', array($ap_db[$z]['accesspoint_id'])); + } }