mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
refactor: Remove all old style snmp calls (#7924)
This commit is contained in:
committed by
Neil Lathwood
parent
6d4ef1f50a
commit
046ed94f7c
@@ -1,9 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if ($device['os_group'] == 'cisco') {
|
if ($device['os_group'] == 'cisco') {
|
||||||
$datas = shell_exec($config['snmpbulkwalk'].' -M '.$config['mibdir'].' -m CISCO-IP-STAT-MIB -Oqn '.snmp_gen_auth($device).' '.$device['hostname'].' cipMacSwitchedBytes');
|
$datas = snmp_walk($device, 'cipMacSwitchedBytes', '-Oqn', 'CISCO-IP-STAT-MIB');
|
||||||
// echo("$datas\n");
|
|
||||||
// echo("done\n");
|
|
||||||
foreach (explode("\n", $datas) as $data) {
|
foreach (explode("\n", $datas) as $data) {
|
||||||
list($oid) = explode(' ', $data);
|
list($oid) = explode(' ', $data);
|
||||||
$oid = str_replace('.1.3.6.1.4.1.9.9.84.1.2.1.1.4.', '', $oid);
|
$oid = str_replace('.1.3.6.1.4.1.9.9.84.1.2.1.1.4.', '', $oid);
|
||||||
|
|||||||
@@ -82,14 +82,21 @@ if ($config['enable_bgp']) {
|
|||||||
$peer_data .= "$v\n";
|
$peer_data .= "$v\n";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$peer_cmd = $config['snmpget'].' -M '.$config['mibdir'].' -m BGP4-MIB -OUvq '.snmp_gen_auth($device).' '.$device['hostname'].':'.$device['port'].' ';
|
$oids = array(
|
||||||
$peer_cmd .= 'bgpPeerState.'.$peer['bgpPeerIdentifier'].' bgpPeerAdminStatus.'.$peer['bgpPeerIdentifier'].' bgpPeerInUpdates.'.$peer['bgpPeerIdentifier'].' bgpPeerOutUpdates.'.$peer['bgpPeerIdentifier'].' bgpPeerInTotalMessages.'.$peer['bgpPeerIdentifier'].' ';
|
'bgpPeerState.'.$peer['bgpPeerIdentifier'],
|
||||||
$peer_cmd .= 'bgpPeerOutTotalMessages.'.$peer['bgpPeerIdentifier'].' bgpPeerFsmEstablishedTime.'.$peer['bgpPeerIdentifier'].' bgpPeerInUpdateElapsedTime.'.$peer['bgpPeerIdentifier'].' ';
|
'bgpPeerAdminStatus.'.$peer['bgpPeerIdentifier'],
|
||||||
$peer_cmd .= 'bgpPeerLocalAddr.'.$peer['bgpPeerIdentifier'].'';
|
'bgpPeerInUpdates.'.$peer['bgpPeerIdentifier'],
|
||||||
$peer_data = trim(`$peer_cmd`);
|
'bgpPeerOutUpdates.'.$peer['bgpPeerIdentifier'],
|
||||||
|
'bgpPeerInTotalMessages.'.$peer['bgpPeerIdentifier'],
|
||||||
|
'bgpPeerOutTotalMessages.'.$peer['bgpPeerIdentifier'],
|
||||||
|
'bgpPeerFsmEstablishedTime.'.$peer['bgpPeerIdentifier'],
|
||||||
|
'bgpPeerInUpdateElapsedTime.'.$peer['bgpPeerIdentifier'],
|
||||||
|
'bgpPeerLocalAddr.'.$peer['bgpPeerIdentifier']
|
||||||
|
);
|
||||||
|
$peer_data = snmp_get_multi_oid($device, $oids, '-OUvq', 'BGP4-MIB');
|
||||||
}//end if
|
}//end if
|
||||||
d_echo($peer_data);
|
d_echo($peer_data);
|
||||||
list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime, $bgpLocalAddr) = explode("\n", $peer_data);
|
list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime, $bgpLocalAddr) = array_values($peer_data);
|
||||||
$bgpLocalAddr = str_replace('"', '', str_replace(' ', '', $bgpLocalAddr));
|
$bgpLocalAddr = str_replace('"', '', str_replace(' ', '', $bgpLocalAddr));
|
||||||
} elseif ($device['os'] == 'junos') {
|
} elseif ($device['os'] == 'junos') {
|
||||||
if (!isset($junos)) {
|
if (!isset($junos)) {
|
||||||
|
|||||||
@@ -2,14 +2,12 @@
|
|||||||
|
|
||||||
$oid = $mempool['mempool_index'];
|
$oid = $mempool['mempool_index'];
|
||||||
|
|
||||||
// FIXME snmp_get
|
$oids = array(
|
||||||
$pool_cmd = $config['snmpget'].' -M '.$config['mibdir'].' -m CISCO-ENHANCED-MEMPOOL-MIB -O Uqnv '.snmp_gen_auth($device).' '.$device['hostname'].':'.$device['port'];
|
"cempMemPoolUsed.$oid",
|
||||||
$pool_cmd .= " cempMemPoolUsed.$oid cempMemPoolFree.$oid cempMemPoolLargestFree.$oid";
|
"cempMemPoolFree.$oid",
|
||||||
$pool_cmd .= " | cut -f 1 -d ' '";
|
"cempMemPoolLargestFree.$oid",
|
||||||
|
);
|
||||||
|
$data = snmp_get_multi_oid($device, $oids, '-OUqnv', 'CISCO-ENHANCED-MEMPOOL-MIB');
|
||||||
|
|
||||||
d_echo("SNMP [ $pool_cmd ]\n");
|
list($mempool['used'], $mempool['free'], $mempool['largestfree']) = array_values($data);
|
||||||
|
|
||||||
$pool = shell_exec($pool_cmd);
|
|
||||||
|
|
||||||
list($mempool['used'], $mempool['free'], $mempool['largestfree']) = explode("\n", $pool);
|
|
||||||
$mempool['total'] = ($mempool['used'] + $mempool['free']);
|
$mempool['total'] = ($mempool['used'] + $mempool['free']);
|
||||||
|
|||||||
@@ -2,14 +2,12 @@
|
|||||||
|
|
||||||
$oid = $mempool['mempool_index'];
|
$oid = $mempool['mempool_index'];
|
||||||
|
|
||||||
// FIXME snmp_get
|
$oids = array(
|
||||||
$pool_cmd = $config['snmpget'].' -M '.$config['mibdir'].' -m CISCO-MEMORY-POOL-MIB -O Uqnv '.snmp_gen_auth($device).' '.$device['hostname'].':'.$device['port'];
|
"ciscoMemoryPoolUsed.$oid",
|
||||||
$pool_cmd .= " ciscoMemoryPoolUsed.$oid ciscoMemoryPoolFree.$oid ciscoMemoryPoolLargestFree.$oid";
|
"ciscoMemoryPoolFree.$oid",
|
||||||
$pool_cmd .= " | cut -f 1 -d ' '";
|
"ciscoMemoryPoolLargestFree.$oid",
|
||||||
|
);
|
||||||
|
$data = snmp_get_multi_oid($device, $oids, '-OUqnv', 'CISCO-MEMORY-POOL-MIB');
|
||||||
|
|
||||||
d_echo("$pool_cmd");
|
list($mempool['used'], $mempool['free'], $mempool['largestfree']) = array_values($data);
|
||||||
|
|
||||||
$pool = shell_exec($pool_cmd);
|
|
||||||
|
|
||||||
list($mempool['used'], $mempool['free'], $mempool['largestfree']) = explode("\n", $pool);
|
|
||||||
$mempool['total'] = ($mempool['used'] + $mempool['free']);
|
$mempool['total'] = ($mempool['used'] + $mempool['free']);
|
||||||
|
|||||||
@@ -1,21 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// FIXME snmp_ function!
|
$hardware = snmp_get($device, 'sysObjectID.0', '-Oqvs', 'FOUNDRY-SN-AGENT-MIB:FOUNDRY-SN-ROOT-MIB');
|
||||||
$hardware = trim(
|
|
||||||
exec(
|
|
||||||
$config['snmpget'].' -M '.$config['mibdir'].' -O vqs -m FOUNDRY-SN-AGENT-MIB:FOUNDRY-SN-ROOT-MIB '.snmp_gen_auth($device).' '.$device['hostname'].':'.$device['port'].' sysObjectID.0'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$hardware = rewrite_ironware_hardware($hardware);
|
$hardware = rewrite_ironware_hardware($hardware);
|
||||||
|
|
||||||
$version = trim(
|
$version = snmp_get($device, 'snAgBuildVer.0', '-Oqvs', 'FOUNDRY-SN-AGENT-MIB:FOUNDRY-SN-ROOT-MIB');
|
||||||
exec(
|
|
||||||
$config['snmpget'].' -M '.$config['mibdir'].' -O vqs -m FOUNDRY-SN-AGENT-MIB:FOUNDRY-SN-ROOT-MIB '.snmp_gen_auth($device).' '.$device['hostname'].':'.$device['port'].' snAgBuildVer.0'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$version = str_replace('V', '', $version);
|
$version = str_replace('V', '', $version);
|
||||||
$version = str_replace('"', '', $version);
|
$version = str_replace('"', '', $version);
|
||||||
|
|
||||||
$serial = trim(snmp_get($device, 'snChasSerNum.0', '-Ovq', 'FOUNDRY-SN-AGENT-MIB'), '"');
|
$serial = snmp_get($device, 'snChasSerNum.0', '-Ovq', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
|||||||
@@ -5,10 +5,13 @@ use LibreNMS\RRD\RrdDefinition;
|
|||||||
$version = preg_replace('/(.+)\ version\ (.+)\ \(SN:\ (.+)\,\ (.+)\)/', '\\1||\\2||\\3||\\4', $poll_device['sysDescr']);
|
$version = preg_replace('/(.+)\ version\ (.+)\ \(SN:\ (.+)\,\ (.+)\)/', '\\1||\\2||\\3||\\4', $poll_device['sysDescr']);
|
||||||
list($hardware,$version,$serial,$features) = explode('||', $version);
|
list($hardware,$version,$serial,$features) = explode('||', $version);
|
||||||
|
|
||||||
$sess_cmd = $config['snmpget'].' -M '.$config['mibdir'].' -O qv '.snmp_gen_auth($device).' '.$device['hostname'];
|
$oids = array(
|
||||||
$sess_cmd .= ' .1.3.6.1.4.1.3224.16.3.2.0 .1.3.6.1.4.1.3224.16.3.3.0 .1.3.6.1.4.1.3224.16.3.4.0';
|
'.1.3.6.1.4.1.3224.16.3.2.0',
|
||||||
$sess_data = shell_exec($sess_cmd);
|
'.1.3.6.1.4.1.3224.16.3.3.0',
|
||||||
list ($sessalloc, $sessmax, $sessfailed) = explode("\n", $sess_data);
|
'.1.3.6.1.4.1.3224.16.3.4.0',
|
||||||
|
);
|
||||||
|
$sess_data = snmp_get_multi_oid($device, $oids, '-Oqv');
|
||||||
|
list ($sessalloc, $sessmax, $sessfailed) = array_values($sess_data);
|
||||||
|
|
||||||
$rrd_def = RrdDefinition::make()
|
$rrd_def = RrdDefinition::make()
|
||||||
->addDataset('allocate', 'GAUGE', 0, 3000000)
|
->addDataset('allocate', 'GAUGE', 0, 3000000)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ $hardware = $poll_device['sysDescr'];
|
|||||||
$features = '';
|
$features = '';
|
||||||
|
|
||||||
// Filthy hack to get software version. may not work on anything but 585v7 :)
|
// Filthy hack to get software version. may not work on anything but 585v7 :)
|
||||||
$loop = shell_exec($config['snmpget'].' -M '.$config['mibdir'].' -Ovq '.snmp_gen_auth($device).' '.$device['hostname'].' ifDescr.101');
|
$loop = snmp_get($device, 'ifDescr.101', '-Oqv');
|
||||||
|
|
||||||
if ($loop) {
|
if ($loop) {
|
||||||
preg_match('@([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)@i', $loop, $matches);
|
preg_match('@([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)@i', $loop, $matches);
|
||||||
|
|||||||
Reference in New Issue
Block a user