Discussion:
[opennms-discuss] OpenNMS Network Map "Design Requirements Document"
Ian C. Blenke
2002-07-10 19:27:22 UTC
Permalink
Someone suggested that someone write a design document for network
mapping with OpenNMS. So I did my best and whipped together the
following. I welcome all feedback eagerly.

-------------------------------------------------------------------

OpenNMS SVG Network Map "Design Requirements Document"

Introduction

This document is an attempt to address the need for a visual network
topology mapping interface to the OpenNMS community project. This is
not a definitive nor exhaustive guide of every possible approach to
generate such a map, but merely an attempt to design a reasonable and
appropriate solution to the problem at hand. The architecture below is
based entirely on a Java centric development model.


Background

OpenNMS was developed to be an OpenSource alternative to commercial
Network Monitoring Systems like HP Openview Network Node Manager (HPOV
NNM). As such, OpenNMS excels at automated network discovery, ease of
configuration, and flexible monitoring and alerting. Fortunately, now that
these features are rock solid, the difficult part is complete. However,
the most visible piece is still missing. OpenNMS needs a visual network
topology map.

Some alternative platforms, such as NetSaint, have their own mapping
subsystem based off of Thomas Boutell's wonderful graphics development
(gd) library. Nodes are represented as rasterized bitmapped icons as
layers on a common visual background image.

A mapping system consists fundamentally of vector diagrams of nodes and
paths. Rasterizing this display should be secondary to the native vector
representation of the data.

While it is possible to render Abstract Windowing Toolkit (AWT) graphics
directly to a raster image, the native vector drawing primatives are
lost in the process. For vector presentation, Scalable Vector Graphics
(SVG) is quickly gaining acceptance for vector graphic web display. As
a network topology map is nothing more than a vector graphic, SVG is a
prefect fit for the OpenNMS need.

As an XML derived format, SVG is ideal for generation via JSP views and
other typical HTML generation means. SVG also supports Cascading Style
Sheets (CSS) for customization of views. Style sheets may be updated with
color schemes or other static themes to customize the rendered content.

SVG may be rendered into a rasterized image on demand using one of
many available toolkits, including the Apache Batik project and Sun's
Graphics2D generator. This makes backward compatibility with non-SVG
aware web browsers relatively painless.


Architecture

Ideally, presentation would be completely removed from rendering,
where the JSP output would be a meta-XML object dump of the active
database. Some form of XSLT rendering to the resultant map view would be
ideal. Unlike static CSS templates, dynamic plugin XSLT could then be
used to generate different types to maps automagically, based entirely
on the managed node metadata.

However, assuming that SVG output is adequate for most network maps,
this layer of complexity is potentially unwelcome.

Per section 4.3.2 of the OpenNMS Developer Guide, the architecture
of OpenNMS is to seperate logic from presentation as much as possible.
The current approach is to use JSP for read-only views of information, and
submit any changes to Servlets that make the appropriate backend updates.

Architecturally, this means that we should design JSP page views of the
active node map data. If themeing or customization is required, merely
changing these JSP views would alter the SVG rendering.

This also suggests that any interactive map editing should take place
on the client SVG viewer, with any updates to the persistant map data
posted to Servlets to update either RDBMS tables or EJB entity beans
as appropriate.


2d Map Drill-down

The contemporary model of network topology mapping is to arrange the 2d
map into a drill-down model.

One such map might be a geographical one. Given a map of the US continent,
nodes would be placed to represent unique cities such as New York,
Los Angeles, or Atlanta. Drilling down into a city might uncover a map
of sites or locations where equipment may be located. Drilling down
into these locations, nodes might be depicted as shelves in racks of
equipment. Drilling into equipment might present the IP addresses,
services or other useful asset information about that equipment. Most
facilities folks would kill for something like this that can be kept up
to date.

Another map might be a topological one. Given a high-level WAN-cloud map
of the enterprise network, nodes might represent locations in various
buildings or cities. Drilling into the cloud might display PVC assignments
to physical Frame Relay or ATM switches. Alternatively, drilling into a
location might show a typical network topology with a firewall and various
servers on network segments. There might be representations of a private
network drilldown that would show individual nodes located behind a NAT
device. Such maps would depend on the environment and the need.


3d Map Traversal

A few NMS products do offer 3d fly-through of a network
environment. NetSaint offers a VRML view of nodes given pre-assigned
x/y/z cordinates. These environments tend to be static representations
of nodes with some attribute such as color to denote their current state.

Unfortunately, the usefulness of these interfaces have yet to be
proven. The primary barriers to a 3d interface continue to be the lack of
a universal 3d input device for navigation, and the lack of a compelling
interactive interface with useful physics and intuitive animation for
presenting information without occluding critical alarms.

While there is currently at least one 3d SVG sample included with the
Apache Batik project, the more appropriate modeling language would be
VRML. As VRML is an XML derivative much like SVG, this holds some promise
for the future as well.

With the blistering pace of development of current first person shooters
in the gaming world, there continues to be hope that we might soon see
an environment where 3d network topology mapping makes sense.


Node Representation

A node is a representation of a network object. That node might be a
managed device, an interface on a device, a service, or a link to another
map. When a drilldown to a node occurs, a view of that node should appear.

In the case of a managed device, the view should include interface nodes
for interfaces on that IP stack and service nodes for services offered.

An interface node should present configuration information and status of
that interface, preferrably with a link to the node to which it belongs.

A service node should present configuration information and status of
that service, preferrably with a link to the node to which it belongs.

A map node should link to another map, preferrably with some form of
link back to the parent map or some form of bread-crumbs permitting
traversal to some previous map in the heirarchy.


Static Mapping

Any network topology map should permit some form of manual map
creation. The ideal model would be to permit creation of new maps based
on administrative need. Admins would ideally wish to add network elements
and place them manually on the maps themselves. Such maps are pre-drawn,
and do not change without manual intervention.

It would be nice to enable more advanced graphics primatives beyond
basic equipment elements as well. There should be a set of vector
representations of a node that may be selected for any node on a map,
which should be selectable for just this or all maps. Simple objects and
graphics primatives familiar to Visio users would permit full network
diagrams to be created while being fully integrated within the dynamic
mapping of OpenNMS.

At a minimum, hand-drawn maps should permit a background vector or raster
image to be set and lines to be drawn between nodes.

Anyone who has been forced to maintain a set of moderately complex network
maps will attest to to the odd behaviour of some mapping systems. Nodes
should be able to appear on multiple hand-drawn maps. Nodes should not
automatically add themselves to hand-drawn maps, but they should be made
available for addition to them. Nodes should be able to be deleted from
one map while not affecting the other maps. Nodes should also be able
to be removed from all maps when removed entirely from the NMS.

Some method of cutting/pasting nodes or groups of nodes between maps
should be made available, preferrably with relative placement information
and attributes remaining intact.


Automatic Mapping

The goal of an automatic map is to present nodes based on a search
criterion in some automatically drawn view that allows nodes to be
found. Newly discovered nodes should auto-populate in these network maps
so that they may be added to manually drawn maps that might better serve
network administrators.

The most obvious method would be to place hosts on the same network
segment on the same map. For example, hosts on a 192.168.0.0/24 segment
should appear on one map, while hosts on a 192.168.1.0/24 segment should
appear on another. Not having netmask information, however, would dictate
the need to group nodes via some other attribute for painless searching.

In fact, the best method is probably to offer dynamic views that
are nothing more than pre-defined search patterns. This would permit
no-maintenance yet user-defined maps that update themselves as new nodes
are discovered and/or removed from OpenNMS.

Auto-generated dynamically drawn maps require some internal logic
and vector computation to prevent nodes and other visual objects from
occluding the view of neighboring ones. Various arrangements of nodes
should be given. Without a heirarchical parent-child relationship,
it is impossible to deduce a tree toplogy automatically. However,
it is possible to have a flat list of nodes in row/column format
(ie. saintmap.pl, Cheops, et al.) or a ring of nodes that auto-sizes
itself with additional nodes (ie. Etherman or Nagios).

Any nodes that already appear in a manually drawn map should be
marked with an artifact to allow the admin to know the node is already
managed. This allows an admin to quickly identify nodes that need to be
added to a map vs those that should already exist.


Conclusion

This is a first draft attempt at enumerating design decision proposals
for a logical network topology mapping interface for OpenNMS.

As a Request For Comments of sorts, all input is welcome and appreciated.
Tarus Balog
2002-07-10 20:13:10 UTC
Permalink
Ian C. Blenke said:

> Someone suggested that someone write a design document for network
> mapping with OpenNMS. So I did my best and whipped together the
> following. I welcome all feedback eagerly.

This is very impressive, and I for one appreciate the effort that went
into it.

Network Mapping is a touchy subject within OpenNMS, but I always prefer to
have the functionality there so that those that want to use it can.

The trick will be to automate as much of it as possible to display a
useful graphical representation of the network. If I could have back all
of the hours I spent configuring OpenView maps ...

This effort could easily dovetail into some of the path outage work needed
in 1.3. The basic path-outage plan it to use traceroute or some other tool
to determine how each interface depends on another, and then be able to
supress sympathic events when a device goes down. Initially, it will
probably be limited to Layer 3, but if the topology data is already in the
database, map automation would not be far behind.

Thanks again,

-T

--
Tarus Balog
Consultant
Sortova Consulting Group, http://www.sortova.com
+1-919-696-7625
***@sortova.com
Ian C. Blenke
2002-07-10 21:28:46 UTC
Permalink
On Wed, 2002-07-10 at 16:13, Tarus Balog wrote:
> Ian C. Blenke said:
>
> > Someone suggested that someone write a design document for network
> > mapping with OpenNMS. So I did my best and whipped together the
> > following. I welcome all feedback eagerly.
>
> This is very impressive, and I for one appreciate the effort that went
> into it.

Nah. It's a beginning. The devil is in the details ;)

> Network Mapping is a touchy subject within OpenNMS, but I always prefer to
> have the functionality there so that those that want to use it can.

Thus the need for such a PC tone within the document. A mapping
interface is nice, but OpenNMS should continue to be self sufficient,
I'll agree.

> The trick will be to automate as much of it as possible to display a
> useful graphical representation of the network. If I could have back all
> of the hours I spent configuring OpenView maps ...

*sigh* Tell me about it. This probably holds true for *most* HPOV
admins. ;)

The best way seems to be to have a set of nodes from a search query that
are automagically drawn based on a "view" selection. By doing this,
OpenNMS would always have some form of mapping without administration
intervention of any kind.

> This effort could easily dovetail into some of the path outage work needed
> in 1.3. The basic path-outage plan it to use traceroute or some other tool
> to determine how each interface depends on another, and then be able to
> supress sympathic events when a device goes down. Initially, it will
> probably be limited to Layer 3, but if the topology data is already in the
> database, map automation would not be far behind.

Hopefully, some intelligence may be gleaned from the manually drawn maps
to permit a true root-cause analysis for notifications. In fact,
integrating some intuitive "smarts" into the mapping that feed back into
the monitoring system would make for great human interface design.

> Thanks again,

You're welcome. I'm glad to help.

- Ian
John Blake
2002-07-11 01:04:35 UTC
Permalink
I'm new to Opennms so if this is a stupid question, you'll know why.

My understanding is that you give it a range of Ip's and then you
discover what services are on those ip's.
But it currently tries all the services, for numerous ports for each
service,
on all the ips.
Wouldnt it be better if something was created like you did in the
SNMP poller section that you could have the option to select
what Groups and then what Systems the ip range belonged to?

Say, these Ip's are servers so I want them polled for the normal server
services.
But these other IP's are routers and I know i dont have SMTP running on it
so let me just select them to be
polled for routing services.

Seems like that would definately drop the discovery time if you're
discovering routers/switches.


Also, concerning the maps.
Could Opennms use the Openmap app from www.openmap.bbn.com?
It sounds like its perfect for the open mapping software you're looking
for.
It will place nodes on a map by layers, by Long/lat, and manually.
Since it does it by layers, you could have it look in the dbase and be able
to select which type of devices you want displayed.
And it would be displayed according to whatever criteria is in the dbase.
Say, this layer is for all servers, and this other is for servers running
http.
Or this layer if for the servers running solaris8, etc.
You'd be able to show all the solaris8 servers running http ( or whatever
ya want).


Thanks
John

----- Original Message -----
From: "Ian C. Blenke" <***@nks.net>
To: <***@lists.opennms.org>
Sent: Wednesday, July 10, 2002 5:28 PM
Subject: Re: [opennms-discuss] OpenNMS Network Map 'Design
RequirementsDocument'


> On Wed, 2002-07-10 at 16:13, Tarus Balog wrote:
> > Ian C. Blenke said:
> >
> > > Someone suggested that someone write a design document for network
> > > mapping with OpenNMS. So I did my best and whipped together the
> > > following. I welcome all feedback eagerly.
> >
> > This is very impressive, and I for one appreciate the effort that went
> > into it.
>
> Nah. It's a beginning. The devil is in the details ;)
>
> > Network Mapping is a touchy subject within OpenNMS, but I always prefer
to
> > have the functionality there so that those that want to use it can.
>
> Thus the need for such a PC tone within the document. A mapping
> interface is nice, but OpenNMS should continue to be self sufficient,
> I'll agree.
>
> > The trick will be to automate as much of it as possible to display a
> > useful graphical representation of the network. If I could have back all
> > of the hours I spent configuring OpenView maps ...
>
> *sigh* Tell me about it. This probably holds true for *most* HPOV
> admins. ;)
>
> The best way seems to be to have a set of nodes from a search query that
> are automagically drawn based on a "view" selection. By doing this,
> OpenNMS would always have some form of mapping without administration
> intervention of any kind.
>
> > This effort could easily dovetail into some of the path outage work
needed
> > in 1.3. The basic path-outage plan it to use traceroute or some other
tool
> > to determine how each interface depends on another, and then be able to
> > supress sympathic events when a device goes down. Initially, it will
> > probably be limited to Layer 3, but if the topology data is already in
the
> > database, map automation would not be far behind.
>
> Hopefully, some intelligence may be gleaned from the manually drawn maps
> to permit a true root-cause analysis for notifications. In fact,
> integrating some intuitive "smarts" into the mapping that feed back into
> the monitoring system would make for great human interface design.
>
> > Thanks again,
>
> You're welcome. I'm glad to help.
>
> - Ian
>
>
> _______________________________________________
> discuss mailing list (***@lists.opennms.org)
> To subscribe, unsubscribe, or change your list options, go to:
> http://lists.opennms.org/mailman/listinfo/discuss
Ian C. Blenke
2002-07-11 19:53:29 UTC
Permalink
On Wed, 2002-07-10 at 21:04, John Blake wrote:
> I'm new to Opennms so if this is a stupid question, you'll know why.
>
> My understanding is that you give it a range of Ip's and then you
> discover what services are on those ip's.
> But it currently tries all the services, for numerous ports for each
> service,
> on all the ips.
> Wouldnt it be better if something was created like you did in the
> SNMP poller section that you could have the option to select
> what Groups and then what Systems the ip range belonged to?

Eventually, the hope is to tie in scans from other systems like Nessus
to feed this discovery process somewhat as well.

As for grouping ranges of IPs, I'm all for CIDR netblocks to segment off
network legs for dynamic map grouping.

> Say, these Ip's are servers so I want them polled for the normal server
> services.
> But these other IP's are routers and I know i dont have SMTP running on it
> so let me just select them to be
> polled for routing services.

But why not just discover this fact? If port 25 is listening, it's a
good bet that SMTP is running on it. Enabling monitoring of that service
should be left up to the user (do they really *want* to know when it is
down? if so, add it to be monitored. if not, ignore it).

> Seems like that would definately drop the discovery time if you're
> discovering routers/switches.

Is discovery time such a problem? There are other ways to "speed up"
discovery, most port scanners (like nmap) have techniques to improve
scanning speed.

> Also, concerning the maps.
> Could Opennms use the Openmap app from www.openmap.bbn.com?

It's a bit of overkill for just logistical (not 100% accurate
geospatial) maps. Few operations have a lat/long of every piece of
equipment they have, much less a need to accurately depict it this way.

But I will agree, it would be interesting to build at least some maps on
a precise mapping engine.

Looking over the project, there does not seem to be a way to generate
SVG yet. I'll wager that there is some form of vector export though.

> It sounds like its perfect for the open mapping software you're looking
> for.

It sounds perfect for one of the mapping models. If we are drawing
Geospacial maps, it is nice to have that precision. If we are drawing
logical topology maps, it really doesn't make much sense at all.

> It will place nodes on a map by layers, by Long/lat, and manually.

Requiring a earth-sphere Long/Lat for map placement, or even mapping to
one, is relatively ominous if all you have are IP addresses and some
vague notion of how they are related to each other (much less a physical
real-world location, if that is really at all important to the user).

> Since it does it by layers, you could have it look in the dbase and be able
> to select which type of devices you want displayed.

The goal is to output a vector representation of node data. There will
be some notion of layers, of course, but requiring that all nodes have a
unique position and layer that they belong to leaves the map designer in
the same situation that NetSaint/Nagios do to their users today.

> And it would be displayed according to whatever criteria is in the dbase.

The key is offering a simplistic human interface to the information
stored in the database. Make it too complex and you've ruined the
benefit of using the mapping tool to begin with.

> Say, this layer is for all servers, and this other is for servers running
> http.

Why not make those "layers" basic search criteria on a database of
discovered nodes?

> Or this layer if for the servers running solaris8, etc.
> You'd be able to show all the solaris8 servers running http ( or whatever
> ya want).

That's why a search works well, with auto-mapping. Otherwise nodes on
the solaris8 "layer" (Map.A[]) might occlude the view of nodes on the
http "layer" (Map.B[]). It would be possible to have a union of (Map.A[]
U Map.B[]) redrawn in a resultant map of Map.C[], but why? Trust me,
it's more difficult to deal with, and there doesn't seem to be much of a
reason for this extra layer of complexity.

- Ian C. Blenke <***@nks.net> <***@blenke.com>
John Blake
2002-07-12 22:57:55 UTC
Permalink
Comments in message..

----- Original Message -----
From: "Ian C. Blenke" <***@nks.net>
To: <***@lists.opennms.org>
Sent: Thursday, July 11, 2002 3:53 PM
Subject: Re: [opennms-discuss] OpenNMS Network Map
'DesignRequirementsDocument'


> On Wed, 2002-07-10 at 21:04, John Blake wrote:
> > I'm new to Opennms so if this is a stupid question, you'll know why.
> >
> > My understanding is that you give it a range of Ip's and then you
> > discover what services are on those ip's.
> > But it currently tries all the services, for numerous ports for each
> > service,
> > on all the ips.
> > Wouldnt it be better if something was created like you did in the
> > SNMP poller section that you could have the option to select
> > what Groups and then what Systems the ip range belonged to?
>
> Eventually, the hope is to tie in scans from other systems like Nessus
> to feed this discovery process somewhat as well.
>
> As for grouping ranges of IPs, I'm all for CIDR netblocks to segment off
> network legs for dynamic map grouping.
>
> > Say, these Ip's are servers so I want them polled for the normal server
> > services.
> > But these other IP's are routers and I know i dont have SMTP running on
it
> > so let me just select them to be
> > polled for routing services.
>
> But why not just discover this fact? If port 25 is listening, it's a
> good bet that SMTP is running on it. Enabling monitoring of that service
> should be left up to the user (do they really *want* to know when it is
> down? if so, add it to be monitored. if not, ignore it).
///////////////////////////////
If you have 25 servers and dont know what services are running on them,
then I'd say go ahead and test for all the services. If you have 450+
routers, would you really want to test all the services against every ip,
for each port, on all those routers when you know those services are not
running?
//////////////////////////////////

>
> > Seems like that would definately drop the discovery time if you're
> > discovering routers/switches.
>
> Is discovery time such a problem? There are other ways to "speed up"
> discovery, most port scanners (like nmap) have techniques to improve
> scanning speed.
/////////////////////////
Discovery would be a problem depending upon how many IP's you have to test.
/////////////////////////////
>
> > Also, concerning the maps.
> > Could Opennms use the Openmap app from www.openmap.bbn.com?
>
> It's a bit of overkill for just logistical (not 100% accurate
> geospatial) maps. Few operations have a lat/long of every piece of
> equipment they have, much less a need to accurately depict it this way.
/////////////
I bet most IP's resolve to DNS names.
If the equipment is located in different cities, those names usually have
the city where the equipment is located. Use the DNS name of the city to
draw the map via log/lat. Use one icon for all equipment in that city.
Or, if the equipment is in the same building/city, then draw the map
manually.
/////////////////////////////////////////
..snip..
> > It sounds like its perfect for the open mapping software you're looking
> > for.
>
> It sounds perfect for one of the mapping models. If we are drawing
> Geospacial maps, it is nice to have that precision. If we are drawing
> logical topology maps, it really doesn't make much sense at all.
>
> > It will place nodes on a map by layers, by Long/lat, and manually.
>
> Requiring a earth-sphere Long/Lat for map placement, or even mapping to
> one, is relatively ominous if all you have are IP addresses and some
> vague notion of how they are related to each other (much less a physical
> real-world location, if that is really at all important to the user).
///////////////////////
If a device is not reachable, dont you have to know where the device is
located?
You would have to call someone at the location to go reset it and they will
need the bay/rack location.
Seems like you could put that info in the asset dbase and use a menu option
off the map to show that info.
////////////////////
>
> > Since it does it by layers, you could have it look in the dbase and be
able
> > to select which type of devices you want displayed.
>
> The goal is to output a vector representation of node data. There will
> be some notion of layers, of course, but requiring that all nodes have a
> unique position and layer that they belong to leaves the map designer in
> the same situation that NetSaint/Nagios do to their users today.
/////////////
Why cant they have a position in more than one layer?
//////////////
>
> > And it would be displayed according to whatever criteria is in the
dbase.
>
> The key is offering a simplistic human interface to the information
> stored in the database. Make it too complex and you've ruined the
> benefit of using the mapping tool to begin with.
>
> > Say, this layer is for all servers, and this other is for servers
running
> > http.
>
> Why not make those "layers" basic search criteria on a database of
> discovered nodes?
//////////////
thats what they do.
//////////////
>
> > Or this layer if for the servers running solaris8, etc.
> > You'd be able to show all the solaris8 servers running http ( or
whatever
> > ya want).
>
> That's why a search works well, with auto-mapping. Otherwise nodes on
> the solaris8 "layer" (Map.A[]) might occlude the view of nodes on the
> http "layer" (Map.B[]). It would be possible to have a union of (Map.A[]
> U Map.B[]) redrawn in a resultant map of Map.C[], but why? Trust me,
> it's more difficult to deal with, and there doesn't seem to be much of a
> reason for this extra layer of complexity.
//////////////
I'm not understanding you here.
A map layer would only have the info you want displayed for that layer.
That is a search for info to be displayed.
If you want to see Map.A, then choose to see it.
If you want to switch to Map.B, then choose B and "unchoose" A.
Each would have the search critera for what you want to see.
As far as a reason for it, If all you're looking at is some web servers
scattered around, then yes. Its not worth it because you're looking at one
OSI layer of services/devices.
But, if you're looking at a network that has switches, routers, servers,
and you want to see how each OSI layer of devices interact / are connected
with each other, then you need to be able to choose the layers as you need
them.
////////////////////////////////////
>
> - Ian C. Blenke <***@nks.net> <***@blenke.com>
>
>
>
> _______________________________________________
> discuss mailing list (***@lists.opennms.org)
> To subscribe, unsubscribe, or change your list options, go to:
> http://lists.opennms.org/mailman/listinfo/discuss
>
Ian C. Blenke
2002-07-13 01:12:47 UTC
Permalink
On Fri, 2002-07-12 at 18:57, John Blake wrote:
>
> If you have 25 servers and dont know what services are running on them,
> then I'd say go ahead and test for all the services. If you have 450+
> routers, would you really want to test all the services against every ip,
> for each port, on all those routers when you know those services are not
> running?

I can understand the need for a port probe filter of some form.

> > Is discovery time such a problem? There are other ways to "speed up"
> > discovery, most port scanners (like nmap) have techniques to improve
> > scanning speed.
>
> Discovery would be a problem depending upon how many IP's you have to test.

Discovery time is a function of time to probe an IP times the number of
IPs versus utilized CPU and bandwidth to do so. It is possible to
massively parallelize scans for short discovery times given adequate
bandwidth and appropriate hardware. It is a trade-off.

I'll agree however, adding a filter greatly reduces unnecesary overhead.

> > It's a bit of overkill for just logistical (not 100% accurate
> > geospatial) maps. Few operations have a lat/long of every piece of
> > equipment they have, much less a need to accurately depict it this way.
>
> I bet most IP's resolve to DNS names.
> If the equipment is located in different cities, those names usually have
> the city where the equipment is located. Use the DNS name of the city to
> draw the map via log/lat. Use one icon for all equipment in that city.
> Or, if the equipment is in the same building/city, then draw the map
> manually.

It is still far from trivial to deduce the city any given DNS name
resides in.

There are DNS LOC RR's (RFC 1876), but few providers support them.

Check out the DNS-LOC project:
http://www.ckdhr.com/dns-loc/

Daniel Egnor recently won the Google programming challenge with this
Geographic search:
http://www.google.com/programming-contest/winner.html

Some other geosearching engines include:

NorthernLight's GeoSearch
http://www.northernlight.com/geosearch.html
GeoTags
http://geotags.com/
lasoo
http://www.lasoo.com/
MapPlanet
http://www.mapplanet.com

You can use whois data from ARIN/APNIC/RIPE/... and DNS resource records
(where available), but it's still generally a crapshoot.

> ..snip..
> > > Also, concerning the maps.
> > > Could Opennms use the Openmap app from www.openmap.bbn.com?
> > > It sounds like its perfect for the open mapping software you're looking
> > > for.
> >
> > It sounds perfect for one of the mapping models. If we are drawing
> > Geospacial maps, it is nice to have that precision. If we are drawing
> > logical topology maps, it really doesn't make much sense at all.
> >
> > > It will place nodes on a map by layers, by Long/lat, and manually.
> >
> > Requiring a earth-sphere Long/Lat for map placement, or even mapping to
> > one, is relatively ominous if all you have are IP addresses and some
> > vague notion of how they are related to each other (much less a physical
> > real-world location, if that is really at all important to the user).
>
> If a device is not reachable, dont you have to know where the device is
> located?

Right. But enforcing an admin to enter this data just to create a map
defeats the spirit of OpenNMS to date. For an ideal NMS "appliance", you
would want the ability to add such metadata, not force a user to supply
it to plot a network map.

> You would have to call someone at the location to go reset it and they will
> need the bay/rack location.

Not all OpenNMS users need be so large. Requiring that users feed all
such critical information into their NMS to have it function will
dissuade users from using it.

> Seems like you could put that info in the asset dbase and use a menu option
> off the map to show that info.

Absolutely. There should be some "pop-up" that shows metadata. Something
like Netsaint/Nagios' JavaScript mouse-over pop-up would be useful.

> > The goal is to output a vector representation of node data. There will
> > be some notion of layers, of course, but requiring that all nodes have a
> > unique position and layer that they belong to leaves the map designer in
> > the same situation that NetSaint/Nagios do to their users today.
>
> Why cant they have a position in more than one layer?

So, a layer is nothing more than a "node group" of nodes that appear in
fixed positions whenever that layer is exposed? How many layers might a
typical hand-drawn map consist of? At what point will the admin give up
in frustration from selecting independant layers just to move his nodes
on a single resultant map?

I'm not entirely against doing this.. but I'm cautious about using this
approach.

> > Why not make those "layers" basic search criteria on a database of
> > discovered nodes?
>
> thats what they do.

"Layers" are not a search function. They're a manually drawn map
sub-component that must be visibly exposed to appear on a resultant map.

I'm merely suggesting that we consider dynamically mapping individual
nodes that are the result of a search query for specific metadata. This
allows for free-form automagically drawn maps. Perhaps give the user the
ability to define "macro maps" that are nothing but buttons tied to a
search query. This fits well into a fully automated NMS appliance.

> > > Or this layer if for the servers running solaris8, etc.
> > > You'd be able to show all the solaris8 servers running http ( or
> whatever
> > > ya want).
> >
> > That's why a search works well, with auto-mapping. Otherwise nodes on
> > the solaris8 "layer" (Map.A[]) might occlude the view of nodes on the
> > http "layer" (Map.B[]). It would be possible to have a union of (Map.A[]
> > U Map.B[]) redrawn in a resultant map of Map.C[], but why? Trust me,
> > it's more difficult to deal with, and there doesn't seem to be much of a
> > reason for this extra layer of complexity.
> //////////////
> I'm not understanding you here.
> A map layer would only have the info you want displayed for that layer.
> That is a search for info to be displayed.

Not really. It's a set of nodes arranged relative to each other on a
"rendering plane" (a layer). How do you search for that? What meta-data
defines that layer? I think I'm not clearly defining what I mean by a
search driven map.

> If you want to see Map.A, then choose to see it.

But dynamically, how do you "choose" to see it? What does a user to do
say "I want to expose layers A, B, D, and Q that consist only of nodes
that are on the 10.100.1.0 network and have SNMP agents". How?

> If you want to switch to Map.B, then choose B and "unchoose" A.

Ok, this seems to be more of a static-map think. In a manually drawn
map, this is exactly what we want to do.

> Each would have the search critera for what you want to see.

I'm confused now.

> As far as a reason for it, If all you're looking at is some web servers
> scattered around, then yes. Its not worth it because you're looking at one
> OSI layer of services/devices.

Ok.

> But, if you're looking at a network that has switches, routers, servers,
> and you want to see how each OSI layer of devices interact / are connected
> with each other, then you need to be able to choose the layers as you need
> them.

Perhaps we're confusing "topology layers" with "drawing layers". We need
to depict topology layers as well, and this doesn't fit well with a
search-driven model, I'll agree. Let me think on that a bit.

- Ian C. Blenke <***@nks.net>
David
2002-07-22 12:14:27 UTC
Permalink
> > > > Also, concerning the maps.
> > > > Could Opennms use the Openmap app from www.openmap.bbn.com?
> > > > It sounds like its perfect for the open mapping software you're
> > > > looking for.
> > >
> > > It sounds perfect for one of the mapping models. If we are drawing
> > > Geospacial maps, it is nice to have that precision. If we are drawing
> > > logical topology maps, it really doesn't make much sense at all.
> > >
> > > > It will place nodes on a map by layers, by Long/lat, and manually.
> > >
> > > Requiring a earth-sphere Long/Lat for map placement, or even mapping to
> > > one, is relatively ominous if all you have are IP addresses and some
> > > vague notion of how they are related to each other (much less a
> > > physical real-world location, if that is really at all important to the
> > > user).

You could also take a look at dia.
http://www.lysator.liu.se/~alla/dia/

I know that dia is really a user application but take a look at how Ibon has
used dia and XML.
http://helvete.escomposlinux.org/ecolnet/index.php#servicios

Thought it may be of interest.

--
Best Regards,

David Price
David
2002-07-22 13:23:59 UTC
Permalink
On Mon, 22 Jul 2002 22:14, David wrote:
> > > > > Also, concerning the maps.
> > > > > Could Opennms use the Openmap app from www.openmap.bbn.com?
> > > > > It sounds like its perfect for the open mapping software you're
> > > > > looking for.
> > > >
> > > > It sounds perfect for one of the mapping models. If we are drawing
> > > > Geospacial maps, it is nice to have that precision. If we are drawing
> > > > logical topology maps, it really doesn't make much sense at all.
> > > >
> > > > > It will place nodes on a map by layers, by Long/lat, and manually.
> > > >
> > > > Requiring a earth-sphere Long/Lat for map placement, or even mapping
> > > > to one, is relatively ominous if all you have are IP addresses and
> > > > some vague notion of how they are related to each other (much less a
> > > > physical real-world location, if that is really at all important to
> > > > the user).
>
> You could also take a look at dia.
> http://www.lysator.liu.se/~alla/dia/
>
> I know that dia is really a user application but take a look at how Ibon
> has used dia and XML.
> http://helvete.escomposlinux.org/ecolnet/index.php#servicios
>
> Thought it may be of interest.

Should have also included:
http://diacanvas.sourceforge.net/


--
Best Regards,

David Price
Ian C. Blenke
2002-07-22 19:10:49 UTC
Permalink
On Mon, 2002-07-22 at 08:14, David wrote:
> You could also take a look at dia.
> http://www.lysator.liu.se/~alla/dia/
>
> I know that dia is really a user application but take a look at how Ibon has
> used dia and XML.
> http://helvete.escomposlinux.org/ecolnet/index.php#servicios

Dia does output to SVG, but it primarily uses its own native XML schema
for Dia native "documents".

> Thought it may be of interest.

Absolutely! For folks who must make quick drawings, Dia is a wonderful
tool.

There are other tools for vector drawings, like sodipodi and sketch,
which output SVG as well, Others, like Kivio, seem to keep to their
native formats (for now), but generally have plans for eventual SVG
adoption.

The primary drawbacks to SVG, at the moment, are browser support. Either
you buy into using Adobe's SVG plugin (Windows and Mac only!), or you
put up with a partially implemented Mozilla SVG implementation (built
implicitly on your own from cvs to support the LGPL'ed libart library).
There is an "experimental" Adobe SVG plugin for Mozilla versions before
0.9.9 (it was built against 0.9.1), but it really is experimental - it
sounds is if they've dropped Mozilla native support at the moment due to
the apparent lack of frozen interfaces.

As my primary dev environment at present is Linux/Mozilla, I'm trying to
make do, but this crashing is beginning to take its toll. Instead, I've
started using Sodipodi to draw with, and Basik's Squiggle browser
natively to view with. Unfortunately, this means no javascript support
for the time being.. so the pop-up menus and interactive bits will have
to wait while I focus on auto-generating the lifeless dynamic maps.

If you're interested in this topic, please feel free to join the
***@lists.opennms.org mailing list so we can keep discuss somewhat free
of this topic for the time being.

- Ian C. Blenke <***@opennms.org>
Bill Felling
2002-07-10 21:42:19 UTC
Permalink
Taurus:

While a traceroute based system for dependency determination is a good
start, we have a number of devices (firewalls mostly) which are
configured not to respond to traceroute. But they have managed devices
on the far side of them, and they themselves are managed. This is just
by way of saying that the dependency feature should nclude the ability
to manually alter/add to the dependencies discovered.

Bill Felling

>>> ***@sortova.com 07/10/02 04:13PM >>>
Ian C. Blenke said:

> Someone suggested that someone write a design document for network
> mapping with OpenNMS. So I did my best and whipped together the
> following. I welcome all feedback eagerly.

This is very impressive, and I for one appreciate the effort that went
into it.

Network Mapping is a touchy subject within OpenNMS, but I always prefer
to
have the functionality there so that those that want to use it can.

The trick will be to automate as much of it as possible to display a
useful graphical representation of the network. If I could have back
all
of the hours I spent configuring OpenView maps ...

This effort could easily dovetail into some of the path outage work
needed
in 1.3. The basic path-outage plan it to use traceroute or some other
tool
to determine how each interface depends on another, and then be able
to
supress sympathic events when a device goes down. Initially, it will
probably be limited to Layer 3, but if the topology data is already in
the
database, map automation would not be far behind.

Thanks again,

-T

--
Tarus Balog
Consultant
Sortova Consulting Group, http://www.sortova.com
+1-919-696-7625
***@sortova.com



_______________________________________________
discuss mailing list (***@lists.opennms.org)
To subscribe, unsubscribe, or change your list options, go to:
http://lists.opennms.org/mailman/listinfo/discuss
Den Bei
2002-07-11 02:30:20 UTC
Permalink
Dear All,

Can we activate Round Trip Delay measurement on
OpenNMS?

Thanks.


__________________________________________________
Do You Yahoo!?
Sign up for SBC Yahoo! Dial - First Month Free
http://sbc.yahoo.com
Den Bei
2002-07-26 04:45:49 UTC
Permalink
Dear All,

I set notificationPath for nodeLostService, using
nodelay to admin, and several delays for eskalation.
The problem is, when SNMP service down and up again in
the short time, the escalation notice STILL send to
escalation target.

Can we stop escalation notification when the service
is going UP again (something like autoacknowlegde)?

Big Thanks

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com
Loading...