Okay guys - I work in the healthcare industry where most connections are layer two based.
They frequently migrate hundreds of connections in one night.
In order to do this, a 'port matrix' is made - in short, a condensed spreadsheet by switch. In this matrix, it contains a list of switch ports with the associated IP to mac translations. This is because many devices in the healthcare industry are picky as can be, and even though the switch will register the mac and show as connected, the device will no longer be pingable after migration. As such, an ip to mac by switch is the only way fully verify connectivity after changes have been made.
For awhile I have been trying to use observium on these, but lacking this capability, cannot really use it.
The patch suggested below is a huge start, and I will be making full use of it.
Still it is not enough for me to truly 'sell' observium to the rest of the team.
Currently, we use an old server to do this (so old that no one even knows the login creds). You type in the distro switches loopback IP, it pulls the arp table, and then runs that table through DNS to do an IP add to mac to dns full translation. We plug this info into the matrix and it then tells you the corresponding IP's to the switches MAC adds....If you can imagine, this is a total pain in the rear.
My routing, switching, and hardware experience and knowledge is pretty darn good - but unfortunately, I am a newb at linux based platforms. Thanks to observium - this is slowly changing for the best. Still - if I can help develop this in anyway (if thats what you chose to do), then let me know and I will do what I can to help.
Thanks!
From: Justin Cinkelj <justin.cinkelj@xlab.si>
To: observium@observium.org
Sent: Thursday, March 31, 2016 9:25 AM
Subject: Re: [Observium] patch: show ip associated with mac
It's definitely limited. Goal was to only show already
available/easy to reach additional info.
@Tom
When hovering with mouse over mac address in device > port >
FDB table, eth board manufacturer is show in a popup.
Patch adds IP and DNS name to the popup.
br justin
On 03/31/2016 04:56 PM, Adam Armstrong
wrote:
And especially since
this is only really useful for ports the observium server itself
can see, it's of very limited usefulness.
adam.
only convenience - I don't need to ssh and grep 'manually'.
Usage scenario would be something like:
- "slow internet" complains
- one edge port has high utilization.
- MACs on the port are show
- If also PC IP/name is shown (hopefully with descriptive
name), you can immediately see who is the problematic user.
Br Justin
On 03/31/2016 04:21 PM, Adam
Armstrong wrote:
I'm not sure
how useful it is to get information about the hosts that
the Observium server itself can see at layer 2.
adam.
Hi
I here and there search for IP address belonging to
certain MAC address.
Below is a tiny patch to show that info in observium.
Data is read from arpwatch datafile (path to datafile is
set in config.php):
// enable arpwatch
$config['arpwatch']['datafile'] =
"/var/lib/arpwatch/arp.dat";
And once IP is known, reverse DNS name is informative
too.
Patch acceptable for inclusion?
BR Justin
diff --git a/html/ajax/entity_popup.php
b/html/ajax/entity_popup.php
index 86c2b43..ef2fe18 100644
--- a/html/ajax/entity_popup.php
+++ b/html/ajax/entity_popup.php
@@ -73,6 +73,25 @@ switch ($vars['entity_type'])
} else {
echo 'Not Found';
}
+ // search for mac in arpwatch datafile
+ $aw_on = array_key_exists("arpwatch", $config)
&&
+ array_key_exists("datafile", $config["arpwatch"])
&&
+ $config["arpwatch"]["datafile"];
+ if ($aw_on) {
+ // lines are formated: mac ip timestamp name
+ $aw_file = "/var/lib/arpwatch/arp.dat";
+ $aw_data = file_get_contents($aw_file);
+ $aw_data = explode("\n", $aw_data);
+ for ($line = 0; $line < count($aw_data);=""
$line++)="">
+ if (strpos($aw_data[$line], $vars['entity_id']) !==
false) {
+ list($aw_mac, $aw_ip, $aw_timestamp, $aw_name) =
preg_split("/\s+/", $aw_data[$line]);
+ echo "
arpwatch: " . $aw_ip . " " . $aw_name;
+ // with IP, rev DNS can be tried
+ $rdns_name = gethostbyaddr($aw_ip );
+ echo "
rDNS: " . $rdns_name;
+ }
+ }
+ }
} else {
echo 'Not correct MAC address';
}
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium