git-svn-id: http://www.observium.org/svn/observer/trunk@349 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2009-03-02 18:12:09 +00:00
parent 960fc875a9
commit 3207412c9e
13 changed files with 92 additions and 120 deletions

View File

@@ -18,10 +18,10 @@ if($argv[1] && $argv[2] && $argv[3]) {
if ( isPingable($argv[1])) {
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `hostname` = '".mres($host)."'"), 0) == '0' ) {
$snmphost = trim(`snmpget -Oqv -$snmpver -c $community $host:$port sysName.0 | sed s/\"//g`);
var_dump($snmphost);
# var_dump($snmphost);
if ($snmphost == $host || $hostshort = $host) {
$return = createHost ($host, $community, $snmpver, $port);
var_dump($return);
# var_dump($return);
if($return) { echo($return . "\n"); } else { echo("Adding $host failed\n"); }
} else { echo("Given hostname does not match SNMP-read hostname!\n"); }
} else { echo("Already got host $host\n"); }

View File

@@ -4,24 +4,22 @@
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('log_errors', 1);
ini_set('error_reporting', E_ALL);
ini_set('error_reporting', E_WARNING);
include("config.php");
include("includes/functions.php");
include("includes/cdp.inc.php");
$device_query = mysql_query("SELECT * FROM `devices` WHERE `status` = '1' AND (`os` = 'IOS' OR `os` = 'IOS XE') ORDER BY `device_id` DESC");
$device_query = mysql_query("SELECT * FROM `devices` WHERE `status` = '1' AND (`os` = 'IOS' OR `os` = 'IOS XE') AND hostname NOT LIKE '%bar%' ORDER BY `device_id` DESC");
while ($device = mysql_fetch_array($device_query)) {
$hostname = $device['hostname'];
$community = $device['community'];
echo("Discovering $hostname \n");
$id = $device['device_id'];
$host = $id;
echo("Detecting CDP neighbours on $device[1]...\n");
echo("\nDetecting CDP neighbours on $device[1]...\n");
$snmp = new snmpCDP($hostname, $community);
$ports = $snmp->getports();
$cdp = $snmp->explore_cdp($ports);
@@ -35,6 +33,9 @@ while ($device = mysql_fetch_array($device_query)) {
}
$cdp_links = trim($cdp_links);
echo("\n$cdp_links\n\n");
foreach ( explode("\n" ,$cdp_links) as $link ) {
if ($link == "") { break; }
list($src_host,$src_if, $dst_host, $dst_if) = explode(",", $link);
@@ -42,33 +43,39 @@ while ($device = mysql_fetch_array($device_query)) {
$dst_if = strtolower($dst_if);
$src_host = strtolower($src_host);
$src_if = strtolower($src_if);
if ( isDomainResolves($dst_host . "." . $config['mydomain']) ) {
$dst_host = $dst_host . "." . $config['mydomain'];
}
# if ( isDomainResolves($dst_host . "." . $config['mydomain']) ) {
# $dst_host = $dst_host . "." . $config['mydomain'];
# }
$ip = gethostbyname($dst_host);
if ( match_network($config['nets'], $ip) ) {
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `hostname` = '$dst_host'"), 0) == '0' ) {
createHost ($dst_host, $community, "v2c");
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host'"), 0) == '0' ) {
echo("++ Creating: $dst_host \n");
#createHost ($dst_host, $community, "v2c");
} else {
#echo("Already got host $dst_host\n");
echo(".. Already got host $dst_host\n");
}
} else { echo("Bad DNS for $dst_host\n"); }
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `hostname` = '$dst_host'"), 0) == '1' &&
} else {
#echo("!! Bad DNS for $dst_host\n");
}
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host'"), 0) == '1' &&
mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `hostname` = '$src_host'"), 0) == '1' &&
mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND hostname = '$dst_host' AND D.device_id = I.device_id"), 0) == '1' &&
mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND sysName = '$dst_host' AND D.device_id = I.device_id"), 0) == '1' &&
mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$src_if' AND hostname = '$src_host' AND D.device_id = I.device_id"), 0) == '1')
{
$dst_if_id = mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND hostname = '$dst_host' AND D.device_id = I.device_id"), 0);
$dst_if_id = mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND sysName = '$dst_host' AND D.device_id = I.device_id"), 0);
$src_if_id = mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$src_if' AND hostname = '$src_host' AND D.device_id = I.device_id"), 0);
$linkalive[] = $src_if_id . "," . $dst_if_id;
if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `links` WHERE `dst_if` = '$dst_if_id' AND `src_if` = '$src_if_id'"),0) == '0')
{
$sql = "INSERT INTO `links` (`src_if`, `dst_if`, `cdp`) VALUES ('$src_if_id', '$dst_if_id', '1')";
mysql_query($sql);
echo("Creating Link : $src_host $src_if -> $dst_host $dst_if\n");
echo("++ Creating Link : $src_host $src_if -> $dst_host $dst_if\n");
} else {
#echo("Link already exists : $src_host $src_if -> $dst_host $dst_if\n ");
echo(".. Existing Link : $src_host $src_if -> $dst_host $dst_if\n ");
}
} else {
}
}
}

View File

@@ -1,4 +1,4 @@
#!/bin/bash
./map.php > map.dot && unflatten -l5 -f map.dot | fdp -Tpng -o html/network-big.png && convert -resize 400x500 html/network-big.png html/network.png
./map.php > map.dot && unflatten -l5 -f map.dot | circo -Tpng -o html/network-big.png && convert -resize 900x2000 html/network-big.png html/network-screen.png
./map.php > map.dot && unflatten -l5 -f map.dot | dot -Tpng -o html/network-big.png && convert -resize 400x500 html/network-big.png html/network.png
#./map.php > map.dot && unflatten -l5 -f map.dot | circo -Tpng -o html/network-screen-big.png && convert -resize 900x2000 html/network-screen-big.png html/network-screen.png

View File

@@ -19,8 +19,8 @@ RewriteRule ^interfaces/(.+)/ ?page=interfaces&type=$1
RewriteRule ^bill/([0-9]+) ?page=bills&bill=$1
RewriteRule ^device/([0-9]+)/([a-z]+)/([a-z]+)/([a-z]+)/ ?page=device&id=$1&section=$2&opta=$3&optb=$4
RewriteRule ^device/([0-9]+)/([a-z]+)/([a-z]+)/ ?page=device&id=$1&section=$2&opta=$3
RewriteRule ^device/([0-9]+)/([a-z]+)/([a-z]+)/([a-z|0-9]+)/ ?page=device&id=$1&section=$2&opta=$3&optb=$4
RewriteRule ^device/([0-9]+)/([a-z]+)/([a-z|0-9]+)/ ?page=device&id=$1&section=$2&idb=$3
RewriteRule ^device/([0-9]+)/([a-z]+)/ ?page=device&id=$1&section=$2
RewriteRule ^device/([0-9]+) ?page=device&id=$1

View File

@@ -71,21 +71,22 @@
formatRates($interface['out_rate']) . "</span>");
}
echo("</td><td width=70>");
echo("</td><td width=75Barbuda>");
if($ifSpeed && $ifSpeed != "") { echo("<span class=box-desc>$ifSpeed</span>"); }
echo("<br />");
# if($interface[ifDuplex] != unknown) { echo("<span class=box-desc>Duplex " . $interface['ifDuplex'] . "</span>"); } else { echo("-"); }
if($device['os'] == "IOS") {
if($device['os'] == "IOS" || $device['os'] == "IOS XE") {
if($interface['ifTrunk']) { echo("<span class=box-desc><span class=red>" . $interface['ifTrunk'] . "</span></span>");
} elseif ($interface['ifVlan']) { echo("<span class=box-desc><span class=blue>VLAN " . $interface['ifVlan'] . "</span></span>");
if($interface['ifTrunk']) {
echo("<span class=box-desc><span class=red>" . $interface['ifTrunk'] . "</span></span>");
} elseif ($interface['ifVlan']) {
echo("<span class=box-desc><span class=blue>VLAN " . $interface['ifVlan'] . "</span></span>");
} elseif ($interface['ifVrf']) {
$vrf = mysql_fetch_array(mysql_query("SELECT * FROM vrfs WHERE vrf_id = '".$interface['ifVrf']."'"));
echo("<span style='color: green;'>" . $vrf['vrf_name'] . "</span>");
}
}
echo("</td><td width=150>");

View File

@@ -1,16 +1,14 @@
<?php
if($_SESSION[userlevel] >= "5" && is_file($config['rancid_configs'] . $device['hostname'])) {
$file = $config['rancid_configs'] . $device['hostname'];
$fh = fopen($file, 'r') or die("Can't open file");
echo(highlight_string(fread($fh, filesize($file))));
$text = fread($fh, filesize($file));
echo(highlight_string($text));
fclose($fh);
} else {
print_error("Error : Insufficient access.");
}
?>

View File

@@ -65,7 +65,7 @@
## Dell Temperatures
if(strstr($device['hardware'], "Dell")) {
echo("Dell OMSA ");
$oids = `snmpwalk -$snmpver -CI -Osqn -c $community $hostname:$port .1.3.6.1.4.1.674.10892.1.700.20.1.8`;
$oids = shell_exec($config['snmpwalk'] . " -v2c -CI -Osqn -c $community $hostname:$port .1.3.6.1.4.1.674.10892.1.700.20.1.8");
$oids = trim($oids);
foreach(explode("\n",$oids) as $oid) {
$oid = substr(trim($oid), 36);

View File

@@ -264,7 +264,8 @@ function generateiflink($interface, $text=0,$type=bits)
if(!$type) { $type = 'bits'; }
$class = ifclass($interface['ifOperStatus'], $interface['ifAdminStatus']);
$graph_url = "graph.php?if=" . $interface['interface_id'] . "&from=$day&to=$now&width=400&height=120&type=" . $type;
$link = "<a class=$class href='?page=interface&id=" . $interface['interface_id'] . "' ";
$device_id = getifhost($interface['interface_id']);
$link = "<a class=$class href='/device/$device_id/interface/" . $interface['interface_id'] . "/' ";
$link .= "onmouseover=\" return overlib('";
$link .= "<img src=\'$graph_url\'>', CAPTION, '<span class=list-large>" . $interface['hostname'] . " - " . fixifName($interface['ifDescr']) . "</span>";
if($interface['ifAlias']) { $link .= "<br />" . $interface['ifAlias']; }
@@ -282,7 +283,7 @@ function generatedevicelink($device, $text=0, $start=0, $end=0)
$class = devclass($device);
if(!$text) { $text = $device['hostname']; }
$graph_url = "graph.php?host=" . $device['device_id'] . "&from=$start&to=$end&width=400&height=120&type=cpu";
$link = "<a class=$class href='?page=device&id=" . $device['device_id'] . "' ";
$link = "<a class=$class href='/device/" . $device['device_id'] . "/' ";
$link .= "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - CPU Load</div>";
$link .= "<img src=\'$graph_url\'>'".$config['overlib_defaults'].", LEFT);\" onmouseout=\"return nd();\">$text</a>";
return $link;
@@ -603,7 +604,7 @@ function createHost ($host, $community, $snmpver, $port = 161){
$host = trim(strtolower($host));
$host_os = getHostOS($host, $community, $snmpver, $port);
if($host_os) {
$sql = mysql_query("INSERT INTO `devices` (`hostname`, `community`, `port`, `os`, `status`) VALUES ('$host', '$community', '$port', '$host_os', '1')");
$sql = mysql_query("INSERT INTO `devices` (`hostname`, `sysName`, `community`, `port`, `os`, `status`) VALUES ('$host', '$host', '$community', '$port', '$host_os', '1')");
if(mysql_affected_rows()) {
return("Created host : $host ($host_os)");
} else { return FALSE; }

View File

@@ -42,7 +42,7 @@ if(is_file($Osysrrd) && !is_file($sysrrd)) { rename($Osysrrd, $sysrrd); echo("Mo
list(,,$version) = explode (" ", $sysDescr);
if(strstr($sysDescr, "386")|| strstr($sysDescr, "486")||strstr($sysDescr, "586")||strstr($sysDescr, "686")) { $hardware = "Generic x86"; }
if(strstr($sysDescr, "x86_64")) { $hardware = "Generic x86 64-bit"; }
$cmd = "snmpget -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port']. " .1.3.6.1.4.1.2021.7890.1.101.1";
$cmd = "snmpget -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port']. " .1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111";
$features = trim(`$cmd`);
$features = str_replace("No Such Object available on this agent at this OID", "", $features);
$features = str_replace("\"", "", $features);

99
map.php
View File

@@ -4,9 +4,9 @@
include("config.php");
include("includes/functions.php");
echo("digraph G { sep=0.5; size=\"40,30\"; pack=15; bgcolor=transparent;splines=true;
node [ fontname=\"times roman\", fontsize=24, fontstyle=bold, shape=box, style=bold];
edge [ labelfontsize=14, labelfontname=\"times roman\", overlap=false];
echo("digraph G { sep=0.1; size=\"40,20\"; pack=10; bgcolor=transparent;splines=true;
node [ fontname=\"helvetica\", fontsize=38, fontstyle=bold, shape=box, style=bold];
edge [ labelfontsize=10, labelfontname=\"helvetica\", overlap=false, fontstyle= bold];
graph [bgcolor=transparent, remincross=true];
");
@@ -15,7 +15,7 @@ $linkdone = array();
$x = 1;
$loc_sql = "SELECT * FROM links AS L, interfaces AS I, interfaces AS X, devices as D WHERE I.device_id = D.device_id AND L.src_if = I.interface_id GROUP BY D.location ORDER BY D.device_id ASC";
$loc_sql = "SELECT * FROM devices GROUP BY location";
$loc_result = mysql_query($loc_sql);
while($loc_data = mysql_fetch_array($loc_result)) {
@@ -24,74 +24,31 @@ while($loc_data = mysql_fetch_array($loc_result)) {
style=filled;
color=lightgrey;\n\n");
$dev_sql = "SELECT * FROM links AS L, interfaces AS I, interfaces AS X, devices as D WHERE D.location = '" . $loc_data['location'] . "' AND I.device_id = D.device_id AND L.src_if = I.interface_id GROUP BY D.hostname";
$dev_sql = "SELECT * FROM devices WHERE location = '" . $loc_data['location'] . "' and `os` LIKE '%IOS%' and disabled = 0";
$dev_result = mysql_query($dev_sql);
while($dev_data = mysql_fetch_array($dev_result)) {
$device_id = $dev_data['device_id'];
# if(mysql_result(mysql_query("SELECT count(*) from links WHERE src_if = '$device_id' OR dst_if = '$device_id'"),0)) {
$host = $dev_data['hostname'];
unset($hostinfo);
if(strpos($host, "cust." . $config['mydomain'])) { $hostinfo = "shape=egg style=filled fillcolor=pink"; }
elseif(strpos($host, $config['mydomain'])) {
if(strpos($host, "-sw")||strpos($host, "-cs")) { $hostinfo = "shape=rectangle style=filled fillcolor=skyblue"; }
if(strpos($host, "-gw")||strpos($host, "-pe")||strpos($host, "-er")) { $hostinfo = "shape=ellipse style=filled fillcolor=darkolivegreen3"; }
if(strpos($host, "-lns")) { $hostinfo = "shape=egg style=filled fillcolor=darkolivegreen4"; }
} else { $hostinfo = "style=filled shape=circle fillcolor=lightgray"; }
if(strpos($host, "bas")) { $hostinfo = "shape=rectangle style=filled fillcolor=skyblue"; }
if(strpos($host, "crs")) { $hostinfo = "shape=box3d style=filled fillcolor=skyblue"; }
if(strpos($host, "ler")) { $hostinfo = "shape=tripleoctagon style=filled fillcolor=darkolivegreen3"; }
if(strpos($host, "pbr")) { $hostinfo = "shape=ellipse style=filled fillcolor=orange"; }
if(strpos($host, "tbr")) { $hostinfo = "shape=ellipse style=filled fillcolor=red"; }
if(strstr($host, "gw")) { $hostinfo = "shape=rect style=filled fillcolor=orange"; }
if(strpos($host, "bar")) { $hostinfo = "shape=egg style=filled fillcolor=darkolivegreen4"; }
#} else { $hostinfo = "style=filled shape=circle fillcolor=lightgray"; }
$host = $dev_data[hostname];
$host = str_replace("." . $config['mydomain'],"", $host);
echo("\"$host\" [$hostinfo]
");
# }
}
$links_sql = "SELECT *, X.ifDescr AS sif, I.ifDescr AS dif FROM links AS L, interfaces AS I, interfaces AS X, devices as D, devices as Y WHERE I.device_id = D.device_id AND X.device_id = Y.device_id AND L.src_if = I.interface_id AND X.interface_id = L.dst_if AND D.location = '" . $loc_data['location'] . "' AND D.location = Y.location ORDER BY D.location DESC";
$links_result = mysql_query($links_sql);
while($link_data = mysql_fetch_array($links_result)) {
$src_if = $link_data['src_if'];
$dst_if = $link_data['dst_if'];
$sq = mysql_fetch_row(mysql_query("SELECT `hostname`,`ifSpeed` FROM interfaces AS I, devices as D where I.device_id = D.device_id and I.interface_id = '$src_if'"));
$dq = mysql_fetch_row(mysql_query("SELECT `hostname`,`ifSpeed` FROM interfaces AS I, devices as D where I.device_id = D.device_id and I.interface_id = '$dst_if'"));
$src = $sq[0];
$dst = $dq[0];
$src_speed = $sq[1];
$dst_speed = $dq[1];
$src = str_replace("." . $config['mydomain'], "", $src);
$dst = str_replace("." . $config['mydomain'], "", $dst);
$info = "";
if($src_speed >= "10000000000") {
$info .= "color=darkred weight=10 style=\"setlinewidth(16)\"";
} elseif ($src_speed >= "1000000000") {
$info .= "color=navyblue weight=5 style=\"setlinewidth(8)\"";
} elseif ($src_speed >= "100000000") {
$info .= "color=darkgreen weight=1 style=\"setlinewidth(4)\"";
} elseif ($src_speed >= "10000000") {
$info .= "style=\"setlinewidth(2)\" weight=1";
}
unset($die);
$i = 0;
while ($i < count($linkdone)) {
$thislink = "$dst $link_data[dif] $src $link_data[sif]";
if ($linkdone[$i] == $thislink) { $die = "yes"; }
$i++;
}
$sif = makeshortif($link_data[sif]);
$dif = makeshortif($link_data[dif]);
if(!$die){
# echo("\"$src\" -> \"$dst\" [taillabel=\"$dif\" headlabel=\"$sif\" arrowhead=none arrowtail=none $info];\n");
echo("\"$src\" -> \"$dst\" [ arrowhead=none arrowtail=none $info];\n");
$linkdone[] = "$src $link_data[sif] $dst $link_data[dif]";
$x++;
}
}
@@ -99,15 +56,13 @@ echo("\n}\n");
}
#echo("\"thnlon-pe01\" -> \"thelon-cs01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
#echo("\"thnlon-pe01\" -> \"thelon-cs02\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
#echo("\"Internet\" -> \"thelon-pe01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
#echo("\"Internet\" -> \"thelon-pe02\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
#echo("\"Internet\" -> \"thnlon-pe01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
echo("\"Internet\" -> \"je.cen.pbr02\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(4)\"];\n");
echo("\"Internet\" -> \"je.cen.pbr01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(4)\"];\n");
echo("\"Internet\" -> \"uk.thn.tbr01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(4)\"];\n");
#echo("\"ADSL\" -> \"thnlon-pe01\" [ arrowhead=none arrowtail=none color=navyblue weight=5 style=\"setlinewidth(8)\"];\n");
$links_sql = "SELECT *, X.ifDescr AS sif, I.ifDescr AS dif FROM links AS L, interfaces AS I, interfaces AS X, devices as D, devices as Y WHERE D.hostname LIKE '%vostron.net' AND I.device_id = D.device_id AND X.device_id = Y.device_id AND D.hostname NOT LIKE '%cust%' AND L.src_if = I.interface_id AND X.interface_id = L.dst_if AND D.location != Y.location AND D.hostname NOT LIKE '%cust.vostron.net' AND Y.hostname NOT LIKE '%cust.vostron.net' ORDER BY D.location DESC";
$links_sql = "SELECT *, X.ifDescr AS sif, I.ifDescr AS dif FROM links AS L, interfaces AS I, interfaces AS X, devices as D, devices as Y WHERE I.device_id = D.device_id AND X.device_id = Y.device_id AND L.src_if = I.interface_id AND X.interface_id = L.dst_if";
$links_result = mysql_query($links_sql);
while($link_data = mysql_fetch_array($links_result)) {
@@ -129,13 +84,13 @@ while($link_data = mysql_fetch_array($links_result)) {
$info = "";
if($src_speed >= "10000000000") {
$info .= "color=darkred weight=10 style=\"setlinewidth(16)\"";
$info .= "color=lightred weight=10 style=\"setlinewidth(8)\"";
} elseif ($src_speed >= "1000000000") {
$info .= "color=navyblue weight=5 style=\"setlinewidth(8)\"";
$info .= "color=lightblue weight=5 style=\"setlinewidth(4)\"";
} elseif ($src_speed >= "100000000") {
$info .= "color=darkgreen weight=1 style=\"setlinewidth(4)\"";
$info .= "color=lightgrey weight=1 style=\"setlinewidth(2)\"";
} elseif ($src_speed >= "10000000") {
$info .= "style=\"setlinewidth(2)\" weight=1";
$info .= "style=\"setlinewidth(1)\" weight=1";
}
unset($die);
@@ -151,7 +106,7 @@ while($link_data = mysql_fetch_array($links_result)) {
$dif = makeshortif($link_data[dif]);
if(!$die){
echo("\"$src\" -> \"$dst\" [taillabel=\"$dif\" headlabel=\"$sif\" arrowhead=none arrowtail=none $info];\n");
echo("\"$src\" -> \"$dst\" [taillabel=\"$dif\" headlabel=\"$sif\" arrowhead=dot arrowtail=dot $info];\n");
# echo("\"$src\" -> \"$dst\" [ arrowhead=none arrowtail=none $info];\n");
$linkdone[] = "$src $link_data[sif] $dst $link_data[dif]";
$x++;

View File

@@ -57,7 +57,7 @@ while ($device = mysql_fetch_array($device_query)) {
$uptimeoid = "1.3.6.1.2.1.1.3.0";
}
$snmp_cmd = $config['snmpget'] . " -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
$snmp_cmd .= " $uptimeoid sysLocation.0 sysContact.0";
$snmp_cmd .= " $uptimeoid sysLocation.0 sysContact.0 sysName.0";
#$snmp_cmd .= " | grep -v 'Cisco Internetwork Operating System Software'";
if($device['os'] == "IOS" || $device['os'] == "IOS XE") {
$snmp_cmdb = $config['snmpget'] . " -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'];
@@ -70,7 +70,7 @@ while ($device = mysql_fetch_array($device_query)) {
# $snmpdata = preg_replace("/^.*IOS/","", $snmpdata);
$snmpdata = trim($snmpdata);
$snmpdata = str_replace("\"", "", $snmpdata);
list($sysUptime, $sysLocation, $sysContact) = explode("\n", $snmpdata);
list($sysUptime, $sysLocation, $sysContact, $sysName) = explode("\n", $snmpdata);
$sysDescr = trim(shell_exec($config['snmpget'] . " -O qv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " sysDescr.0"));
$sysUptime = str_replace("(", "", $sysUptime);
$sysUptime = str_replace(")", "", $sysUptime);
@@ -167,6 +167,14 @@ while ($device = mysql_fetch_array($device_query)) {
echo("$update\n");
$sysName = strtolower($sysName);
if ( $sysName && $sysName != $device['sysName'] ) {
$update .= $seperator . "`sysName` = '$sysName'";
$seperator = ", ";
mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'sysName -> $sysName')");
}
if ( $sysDescr && $sysDescr != $device['sysDescr'] ) {
$update .= $seperator . "`sysDescr` = '$sysDescr'";
$seperator = ", ";

View File

@@ -4,9 +4,8 @@
include("config.php");
include("includes/functions.php");
mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%last message repeated%'");
mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.44]:%'");
mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.35]:%'");
mysql_query("DELETE FROM `syslog` WHERE `processed` = '0' AND `msg` LIKE '%last message repeated%'");
mysql_query("DELETE FROM `syslog` WHERE `processed` = '0' AND `msg` LIKE '%Connection from UDP: [%]:%'");
if(!$config['enable_syslog']) {

View File

@@ -38,7 +38,10 @@ while ($device = mysql_fetch_array($device_query)) {
# include("includes/discovery/cisco-physical.php");
# include("includes/discovery/ipv6-addresses.php");
include("includes/discovery/cisco-pw.php");
# include("includes/discovery/cisco-pw.php");
include("includes/discovery/host-physical.php");
echo("\n"); $devices_polled++;
}