diff options
author | root <root@frank.tg14.gathering.org> | 2014-04-14 00:06:26 +0200 |
---|---|---|
committer | root <root@frank.tg14.gathering.org> | 2014-04-14 00:06:26 +0200 |
commit | 44602bc5e44521de6a1bcabec0bc10e21dcb6ff2 (patch) | |
tree | 5c6434dd28b3b554bc4993c0d8cd264aa9763b47 | |
parent | ebc4ddbe4a26e1e209b3fd8c0b523a47d5a0f73b (diff) |
Better debug output from lldpdiscover.
-rwxr-xr-x | clients/lldpdiscover.pl | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/clients/lldpdiscover.pl b/clients/lldpdiscover.pl index 3f24a63..5b820e1 100755 --- a/clients/lldpdiscover.pl +++ b/clients/lldpdiscover.pl @@ -49,13 +49,13 @@ while (my $ref = $q->fetchrow_hashref) { } # Now ask all switches for their LLDP neighbor table. -$q = $dbh->prepare("SELECT ip, community FROM switches WHERE lldp_chassis_id IS NOT NULL AND ip <> '127.0.0.1'"); +$q = $dbh->prepare("SELECT ip, sysname, community FROM switches WHERE lldp_chassis_id IS NOT NULL AND ip <> '127.0.0.1'"); $q->execute; while (my $ref = $q->fetchrow_hashref) { - my ($ip, $community) = ($ref->{'ip'}, $ref->{'community'}); + my ($ip, $sysname, $community) = ($ref->{'ip'}, $ref->{'sysname'}, $ref->{'community'}); eval { - discover_lldp_neighbors($dbh, $ip, $community); + discover_lldp_neighbors($dbh, $ip, $sysname, $community); }; if ($@) { mylog("ERROR: $@ (during poll of $ip)"); @@ -66,7 +66,7 @@ while (my $ref = $q->fetchrow_hashref) { $dbh->disconnect; sub discover_lldp_neighbors { - my ($dbh, $ip, $community) = @_; + my ($dbh, $ip, $local_sysname, $community) = @_; my $qexist = $dbh->prepare('SELECT COUNT(*) AS cnt FROM switches WHERE lldp_chassis_id=?'); my $session = nms::snmp_open_session($ip, $community); @@ -84,6 +84,8 @@ sub discover_lldp_neighbors { my $exists = $dbh->selectrow_hashref($qexist, undef, $chassis_id)->{'cnt'}; next if ($exists); + print "Found $local_sysname -> $sysname ($chassis_id)\n"; + # Pull in the management address table lazily. $addrtable = $session->gettable("lldpRemManAddrTable") if (!defined($addrtable)); @@ -126,14 +128,14 @@ sub mylog { } sub get_ports { - my ($ip, $community) = @_; + my ($ip, $sysname, $community) = @_; my $ret = undef; eval { my $session = nms::snmp_open_session($ip, $community); $ret = $session->gettable('ifTable', columns => [ 'ifType', 'ifDescr' ]); }; if ($@) { - mylog("Error during SNMP to $ip: $@"); + mylog("Error during SNMP to $ip ($sysname): $@"); return undef; } return $ret; @@ -186,7 +188,7 @@ sub add_switch { my ($dbh, $addr, $sysname, $chassis_id, $community) = @_; # Yay, a new switch! Make a new type for it. - my $ports = get_ports($addr, $community); + my $ports = get_ports($addr, $sysname, $community); return if (!defined($ports)); my $portlist = compress_ports(get_ifindex_for_physical_ports($ports)); mylog("Inserting new switch $sysname ($addr, ports $portlist)."); |