mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['type'] == 'wireless')
 | 
						|
{
 | 
						|
  echo("Wireless: MAG\n");
 | 
						|
 | 
						|
  if ($device['os'] == 'airos')
 | 
						|
  {
 | 
						|
    
 | 
						|
    echo("It Is Airos\n");
 | 
						|
    include("includes/polling/mib/ubnt-airmax-mib.inc.php");
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
  if ($device['os'] == 'airos-af')
 | 
						|
  {
 | 
						|
    
 | 
						|
    echo("It Is AirFIBER\n");
 | 
						|
    include("includes/polling/mib/ubnt-airfiber-mib.inc.php");
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
  if ($device['os'] == 'siklu') {
 | 
						|
 | 
						|
      echo("It is Siklu\n");
 | 
						|
      include "includes/polling/mib/siklu-mib.inc.php";
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
  ///# GENERIC FRAMEWORK, FILLING VARIABLES
 | 
						|
  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");
 | 
						|
  }
 | 
						|
 | 
						|
  #MikroTik RouterOS
 | 
						|
  if ($device['os'] == 'routeros')
 | 
						|
  {
 | 
						|
    # Check inventory for wireless card in device. Valid types be here:
 | 
						|
    $wirelesscards = array('Wireless', 'Atheros');
 | 
						|
    foreach ($wirelesscards as $wirelesscheck)
 | 
						|
    {
 | 
						|
      if (dbFetchCell("SELECT COUNT(*) FROM `entPhysical` WHERE `device_id` = ?AND `entPhysicalDescr` LIKE ?", array($device['device_id'], "%".$wirelesscheck."%")) >= "1")
 | 
						|
      {
 | 
						|
        echo("Checking RouterOS Wireless clients... ");
 | 
						|
 | 
						|
        $wificlients1 = snmp_get($device, "mtxrWlApClientCount", "-OUqnv", "MIKROTIK-MIB");
 | 
						|
 | 
						|
        echo(($wificlients1 +0) . " clients\n");
 | 
						|
        break;
 | 
						|
      }
 | 
						|
      unset($wirelesscards);
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  if ($device['os'] == 'symbol' AND (stristr($device['hardware'],"AP")))
 | 
						|
  {
 | 
						|
    echo("Checking Symbol Wireless clients... ");
 | 
						|
 | 
						|
    $wificlients1 = snmp_get($device, ".1.3.6.1.4.1.388.11.2.4.2.100.10.1.18.1", "-Ovq", "\"\"");
 | 
						|
 | 
						|
    echo(($wificlients1 +0) . " clients on wireless connector, ");
 | 
						|
  }
 | 
						|
 | 
						|
  ///# RRD Filling Code
 | 
						|
  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 ".$config['rrd_rra']);
 | 
						|
    }
 | 
						|
 | 
						|
    rrdtool_update($wificlientsrrd,array($wificlients1));
 | 
						|
 | 
						|
    $graphs['wifi_clients'] = TRUE;
 | 
						|
  }
 | 
						|
 | 
						|
  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 ".$config['rrd_rra']);
 | 
						|
    }
 | 
						|
 | 
						|
    rrdtool_update($wificlientsrrd,array($wificlients2));
 | 
						|
 | 
						|
    $graphs['wifi_clients'] = TRUE;
 | 
						|
  }
 | 
						|
 | 
						|
  unset($wificlients2, $wificlients1);
 | 
						|
}
 | 
						|
 | 
						|
echo("\n");
 | 
						|
 | 
						|
?>
 |