4545use LibreNMS \OS ;
4646use LibreNMS \Util \Mac ;
4747use LibreNMS \Util \Number ;
48+ use SnmpQuery ;
4849
4950class ArubaInstant extends OS implements
5051 OSDiscovery,
@@ -74,13 +75,12 @@ public function discoverOS(Device $device): void
7475 public function discoverProcessors ()
7576 {
7677 $ processors = [];
77- $ ai_mib = 'AI-AP-MIB ' ;
78- $ ai_ap_data = SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 );
78+ $ ai_ap_data = SnmpQuery::hideMib ()->walk ('AI-AP-MIB::discoverProcessors ' )->table (1 );
7979
8080 foreach ($ ai_ap_data as $ ai_ap => $ ai_ap_oid ) {
8181 $ value = $ ai_ap_oid ['aiAPCPUUtilization ' ];
8282 $ mac = Mac::parse ($ ai_ap );
83- $ combined_oid = sprintf ('%s::%s.%s ' , $ ai_mib , 'aiAPCPUUtilization ' , $ mac ->oid ());
83+ $ combined_oid = sprintf ('%s::%s.%s ' , ' AI-AP-MIB ' , 'aiAPCPUUtilization ' , $ mac ->oid ());
8484 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
8585 $ description = $ ai_ap_data [$ ai_ap ]['aiAPSerialNum ' ];
8686 $ processors [] = Processor::discover ('aruba-instant ' , $ this ->getDeviceId (), $ oid , $ mac ->hex (), $ description , 1 , $ value );
@@ -99,23 +99,21 @@ public function discoverWirelessClients()
9999 {
100100 $ sensors = [];
101101 $ device = $ this ->getDeviceArray ();
102- $ ai_mib = 'AI-AP-MIB ' ;
103-
104102 if (intval (explode ('. ' , $ device ['version ' ])[0 ]) >= 8 && intval (explode ('. ' , $ device ['version ' ])[1 ]) >= 4 ) {
105103 // version is at least 8.4.0.0
106- $ ssid_data = SnmpQuery::hideMib ()->walk (" $ ai_mib ::oid " )->table (1 );
104+ $ ssid_data = SnmpQuery::hideMib ()->walk (' AI-AP-MIB::aiWlanSSIDTable ' )->table (1 );
107105
108- $ ap_data = array_merge_recursive (
109- SnmpQuery:: hideMib ()-> walk ( " $ ai_mib ::oid " )-> table ( 1 ) ,
110- SnmpQuery:: hideMib ()-> walk ( " $ ai_mib ::oid " )-> table ( 1 )
111- );
106+ $ ap_data = SnmpQuery:: hideMib ()-> walk ([
107+ ' AI-AP-MIB::aiAccessPointTable ' ,
108+ ' AI-AP-MIB::aiRadioClientNum ' ,
109+ ])-> table ( 1 );
112110
113111 $ oids = [];
114112 $ total_clients = 0 ;
115113
116114 // Clients Per SSID
117115 foreach ($ ssid_data as $ index => $ entry ) {
118- $ combined_oid = sprintf ('%s::%s.%s ' , $ ai_mib , 'aiSSIDClientNum ' , $ index );
116+ $ combined_oid = sprintf ('%s::%s.%s ' , ' AI-AP-MIB ' , 'aiSSIDClientNum ' , $ index );
119117 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
120118 $ description = sprintf ('SSID %s Clients ' , $ entry ['aiSSID ' ]);
121119 $ oids [] = $ oid ;
@@ -129,7 +127,7 @@ public function discoverWirelessClients()
129127 // Clients Per Radio
130128 foreach ($ ap_data as $ index => $ entry ) {
131129 foreach ($ entry ['aiRadioClientNum ' ] as $ radio => $ value ) {
132- $ combined_oid = sprintf ('%s::%s.%s.%s ' , $ ai_mib , 'aiRadioClientNum ' , Mac::parse ($ index )->oid (), $ radio );
130+ $ combined_oid = sprintf ('%s::%s.%s.%s ' , ' AI-AP-MIB ' , 'aiRadioClientNum ' , Mac::parse ($ index )->oid (), $ radio );
133131 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
134132 $ description = sprintf ('%s Radio %s ' , $ entry ['aiAPSerialNum ' ], $ radio );
135133 $ sensor_index = sprintf ('%s.%s ' , Mac::parse ($ index )->hex (), $ radio );
@@ -139,11 +137,11 @@ public function discoverWirelessClients()
139137 } else {
140138 // version is lower than 8.4.0.0
141139 // fetch the MAC addresses of currently connected clients, then count them to get an overall total
142- $ client_data = SnmpQuery::hideMib ()->walk (" $ ai_mib ::oid " )->table (1 );
140+ $ client_data = SnmpQuery::hideMib ()->walk (' AI-AP-MIB::aiClientMACAddress ' )->table (1 );
143141
144142 $ total_clients = count ($ client_data );
145143
146- $ combined_oid = sprintf ('%s::%s ' , $ ai_mib , 'aiClientMACAddress ' );
144+ $ combined_oid = sprintf ('%s::%s ' , ' AI-AP-MIB ' , 'aiClientMACAddress ' );
147145 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
148146
149147 $ sensors [] = new WirelessSensor ('clients ' , $ this ->getDeviceId (), $ oid , 'aruba-instant ' , 'total-clients ' , 'Total Clients ' , $ total_clients );
@@ -161,12 +159,11 @@ public function discoverWirelessClients()
161159 public function discoverWirelessApCount ()
162160 {
163161 $ sensors = [];
164- $ ai_mib = 'AI-AP-MIB ' ;
165- $ ap_data = SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 );
162+ $ ap_data = SnmpQuery::walk ('AI-AP-MIB::aiAPSerialNum ' )->table (1 );
166163
167164 $ total_aps = count ($ ap_data );
168165
169- $ combined_oid = sprintf ('%s::%s ' , $ ai_mib , 'aiAPSerialNum ' );
166+ $ combined_oid = sprintf ('%s::%s ' , ' AI-AP-MIB ' , 'aiAPSerialNum ' );
170167 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
171168
172169 $ sensors [] = new WirelessSensor ('ap-count ' , $ this ->getDeviceId (), $ oid , 'aruba-instant ' , 'total-aps ' , 'Total APs ' , $ total_aps );
@@ -229,14 +226,13 @@ public function discoverWirelessUtilization()
229226 */
230227 private function discoverInstantRadio ($ type , $ mib , $ desc = '%s Radio %s ' )
231228 {
232- $ ai_mib = 'AI-AP-MIB ' ;
233- $ ai_sg_data = array_merge_recursive (
234- SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 ),
235- SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 ),
236- SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 ),
237- SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 ),
238- SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 )
239- );
229+ $ ai_sg_data = SnmpQuery::cache ()->hideMib ()->walk ([
230+ 'AI-AP-MIB::aiAPSerialNum ' ,
231+ 'AI-AP-MIB::aiRadioChannel ' ,
232+ 'AI-AP-MIB::aiRadioNoiseFloor ' ,
233+ 'AI-AP-MIB::aiRadioTransmitPower ' ,
234+ 'AI-AP-MIB::aiRadioUtilization64 ' ,
235+ ])->table (1 );
240236
241237 $ sensors = [];
242238
@@ -253,7 +249,7 @@ private function discoverInstantRadio($type, $mib, $desc = '%s Radio %s')
253249 $ value = $ value * $ multiplier ;
254250 }
255251
256- $ combined_oid = sprintf ('%s::%s.%s.%s ' , $ ai_mib , $ mib , Mac::parse ($ ai_ap )->oid (), $ ai_ap_radio );
252+ $ combined_oid = sprintf ('%s::%s.%s.%s ' , ' AI-AP-MIB ' , $ mib , Mac::parse ($ ai_ap )->oid (), $ ai_ap_radio );
257253 $ oid = snmp_translate ($ combined_oid , 'ALL ' , 'arubaos ' , '-On ' );
258254 $ description = sprintf ($ desc , $ ai_sg_data [$ ai_ap ]['aiAPSerialNum ' ], $ ai_ap_radio );
259255 $ index = sprintf ('%s.%s ' , Mac::parse ($ ai_ap )->hex (), $ ai_ap_radio );
@@ -315,8 +311,7 @@ public function pollWirelessClients(array $sensors)
315311 } else {
316312 // version is lower than 8.4.0.0
317313 if (! empty ($ sensors ) && count ($ sensors ) == 1 ) {
318- $ ai_mib = 'AI-AP-MIB ' ;
319- $ client_data = SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 );
314+ $ client_data = SnmpQuery::walk ('AI-AP-MIB::aiClientMACAddress ' )->table (1 );
320315
321316 if (empty ($ client_data )) {
322317 $ total_clients = 0 ;
@@ -343,8 +338,7 @@ public function pollWirelessApCount(array $sensors)
343338 {
344339 $ data = [];
345340 if (! empty ($ sensors ) && count ($ sensors ) == 1 ) {
346- $ ai_mib = 'AI-AP-MIB ' ;
347- $ ap_data = SnmpQuery::hideMib ()->walk ("$ ai_mib::oid " )->table (1 );
341+ $ ap_data = SnmpQuery::walk ('AI-AP-MIB::aiAPSerialNum ' )->table (1 );
348342
349343 $ total_aps = 0 ;
350344
0 commit comments