mirror of
https://github.com/stylersnico/librenms.git
synced 2026-08-01 16:26:55 +02:00
add snmpbulkwalk blacklist, add power device type for netmanplus
git-svn-id: http://www.observium.org/svn/observer/trunk@1191 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@@ -143,6 +143,7 @@ while ($device = mysql_fetch_array($device_query))
|
|||||||
break;
|
break;
|
||||||
case "apc":
|
case "apc":
|
||||||
case "mgeups":
|
case "mgeups":
|
||||||
|
case "netmanplus":
|
||||||
$device['type'] = 'power';
|
$device['type'] = 'power';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
+63
-10
@@ -19,7 +19,15 @@ function snmp_get ($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL)
|
|||||||
function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL)
|
function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL)
|
||||||
{
|
{
|
||||||
global $debug; global $config; global $runtime_stats;
|
global $debug; global $config; global $runtime_stats;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
|
||||||
if($options) { $cmd .= " $options "; }
|
if($options) { $cmd .= " $options "; }
|
||||||
if($mib) { $cmd .= " -m $mib"; }
|
if($mib) { $cmd .= " -m $mib"; }
|
||||||
if($mibdir) { $cmd .= " -M " . $mibdir; }
|
if($mibdir) { $cmd .= " -M " . $mibdir; }
|
||||||
@@ -35,7 +43,15 @@ function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL)
|
|||||||
function snmp_cache_cip($oid, $device, $array, $mib = 0)
|
function snmp_cache_cip($oid, $device, $array, $mib = 0)
|
||||||
{
|
{
|
||||||
global $config;
|
global $config;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O snQ -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O snQ -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
if($mib) { $cmd .= "-m $mib "; }
|
if($mib) { $cmd .= "-m $mib "; }
|
||||||
$cmd .= $oid;
|
$cmd .= $oid;
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
@@ -64,7 +80,15 @@ function snmp_cache_cip($oid, $device, $array, $mib = 0)
|
|||||||
|
|
||||||
function snmp_cache_ifIndex($device) {
|
function snmp_cache_ifIndex($device) {
|
||||||
global $config;
|
global $config;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O Qs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O Qs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
$cmd .= "-m IF-MIB ifIndex";
|
$cmd .= "-m IF-MIB ifIndex";
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
$device_id = $device['device_id'];
|
$device_id = $device['device_id'];
|
||||||
@@ -149,8 +173,15 @@ function snmpwalk_cache_triple_oid($device, $oid, $array, $mib = NULL, $mibdir =
|
|||||||
|
|
||||||
function snmpwalk_cache_twopart_oid($oid, $device, $array, $mib = 0) {
|
function snmpwalk_cache_twopart_oid($oid, $device, $array, $mib = 0) {
|
||||||
global $config;
|
global $config;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " .
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
$device['hostname'].":".$device['port'] . " ";
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
if($mib) { $cmd .= "-m $mib "; }
|
if($mib) { $cmd .= "-m $mib "; }
|
||||||
$cmd .= $oid;
|
$cmd .= $oid;
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
@@ -168,8 +199,15 @@ function snmpwalk_cache_twopart_oid($oid, $device, $array, $mib = 0) {
|
|||||||
|
|
||||||
function snmpwalk_cache_threepart_oid($oid, $device, $array, $mib = 0) {
|
function snmpwalk_cache_threepart_oid($oid, $device, $array, $mib = 0) {
|
||||||
global $config, $debug;
|
global $config, $debug;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " .
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
$device['hostname'].":".$device['port'] . " ";
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
if($mib) { $cmd .= "-m $mib "; }
|
if($mib) { $cmd .= "-m $mib "; }
|
||||||
$cmd .= $oid;
|
$cmd .= $oid;
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
@@ -188,8 +226,15 @@ function snmpwalk_cache_threepart_oid($oid, $device, $array, $mib = 0) {
|
|||||||
|
|
||||||
function snmp_cache_slotport_oid($oid, $device, $array, $mib = 0) {
|
function snmp_cache_slotport_oid($oid, $device, $array, $mib = 0) {
|
||||||
global $config;
|
global $config;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " .
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
$device['hostname'].":".$device['port'] . " ";
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O QUs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
if($mib) { $cmd .= "-m $mib "; }
|
if($mib) { $cmd .= "-m $mib "; }
|
||||||
$cmd .= $oid;
|
$cmd .= $oid;
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
@@ -210,7 +255,15 @@ function snmp_cache_slotport_oid($oid, $device, $array, $mib = 0) {
|
|||||||
|
|
||||||
function snmp_cache_oid($oid, $device, $array, $mib = 0) {
|
function snmp_cache_oid($oid, $device, $array, $mib = 0) {
|
||||||
global $config;
|
global $config;
|
||||||
$cmd = ($device['snmpver'] == 'v1' ? $config['snmpwalk'] : $config['snmpbulkwalk']) . " -O UQs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
if ($device['snmpver'] == 'v1' || in_array($device['os'],$config['nobulkwalk']))
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpwalk'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$snmpcommand = $config['snmpbulkwalk'];
|
||||||
|
}
|
||||||
|
$cmd = $snmpcommand . " -O UQs -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " ";
|
||||||
if($mib) { $cmd .= "-m $mib "; }
|
if($mib) { $cmd .= "-m $mib "; }
|
||||||
$cmd .= $oid;
|
$cmd .= $oid;
|
||||||
$data = trim(shell_exec($cmd));
|
$data = trim(shell_exec($cmd));
|
||||||
|
|||||||
@@ -17,8 +17,10 @@ $config['afi']['ipv4']['vpn'] = "VPNv4";
|
|||||||
$config['afi']['ipv6']['unicast'] = "IPv6";
|
$config['afi']['ipv6']['unicast'] = "IPv6";
|
||||||
$config['afi']['ipv6']['multicast'] = "IPv6 Multicast";
|
$config['afi']['ipv6']['multicast'] = "IPv6 Multicast";
|
||||||
|
|
||||||
## Set OS Groups
|
## Don't bulkwalk for these OS types
|
||||||
|
$config['nobulkwalk'] = array("netmanplus");
|
||||||
|
|
||||||
|
## Set OS Groups
|
||||||
$os_groups['linux'] = "unix";
|
$os_groups['linux'] = "unix";
|
||||||
$os_groups['freebsd'] = "unix";
|
$os_groups['freebsd'] = "unix";
|
||||||
$os_groups['openbsd'] = "unix";
|
$os_groups['openbsd'] = "unix";
|
||||||
|
|||||||
Reference in New Issue
Block a user