Javier Szyszlican * This program is licensed under the GNU GPL, full terms in the LICENSE file * Chris Wopat - me@falz.net Jan 2006 */ function discovery_pdu ($ip,$rocommunity,$hostid,$param) { $pdu = array(); $PDUMIB = ".1.3.6.1.4.1.318.1.1.12"; $pduIdentName_oid = $PDUMIB.".1.1.0"; $pduModelNumber_oid = $PDUMIB.".1.5.0"; $pduNumBanks_oid = $PDUMIB.".2.1.4.0"; $pduLoadStatus_oid = $PDUMIB.".2.3.1.1.3"; $load_status = array (1=>"load normal", 2=>"load low", 3=>"load near overload", 4=>"load overloaded"); if (!empty($ip) && !empty($rocommunity)) { $pduNumBanks = snmp_get($ip, $rocommunity, $pduNumBanks_oid); // total number of banks + 1 will be index for the "total" status $pduTotalBanks = $pduNumBanks +1; $pduIdentName = snmp_get($ip, $rocommunity, $pduIdentName_oid); $pduModelNumber = snmp_get($ip, $rocommunity, $pduModelNumber_oid); if ($pduIdentName!==false && $pduTotalBanks!==false) { $pduTotalStatus = $pduLoadStatus_oid . "." . $pduTotalBanks; $pduLoadStatus = snmp_get($ip, $rocommunity, $pduTotalStatus); if (!empty($pduIdentName) && !empty($pduLoadStatus)) $pdu[1] = array( "interface"=>"PDU", "ident"=>$pduIdentName, "description"=>$pduIdentName." ".$pduModelNumber, "banks"=>$pduNumBanks, "admin"=>"ok", "oper"=>$load_status[$pduLoadStatus] ); } } return $pdu; } ?>