Topology Map
This section describes how to configure the topology map.
Properties
The topology map supports the following properties, which can be influenced by changing the file etc/org.opennms.features.topology.app.cfg
:
Property | Description | Type | Default |
---|---|---|---|
showHeader |
Defines if the Horizon header is shown. |
Boolean |
true |
autoRefresh.enabled |
If enabled, auto refresh is enabled by default. |
Boolean |
false |
autoRefresh.interval |
Defines the auto refresh interval in seconds. |
Integer |
60 |
hiddenCategoryPrefix |
A string that enables hiding categories. For example a value of |
String |
empty String |
Edge Status
The choice of topology provider controls the status and color of an edge, or link between two vertices. Each topology provider has different notions of what an edge represents and may provide different controls for managing the behavior.
Linkd Topology Provider
The Linkd Topology Provider uses the state and existence of alarms to determine the color of the edge.
An edge between two vertices on a topology map represents a link that has been discovered between two interfaces on distinct nodes.
If an alarm is present with a UEI uei.opennms.org/internal/topology/linkDown
, and the alarm is associated with either of the interfaces on either node, then the edge is red.
If no such alarm is present, the edge is green.
These alarms are not generated by default.
Enable them by changing the logmsg
property on the uei.opennms.org/internal/topology/linkDown
and uei.opennms.org/internal/topology/linkUp
events from donotpersist
to logndisplay
.
These events are automatically generated by the default set of event translator rules that process incoming SNMP Link Up & Down traps.
Icons
Each Vertex on the topology map is represented by an icon.
The default icon is configured in the icon mapping file: ${OPENNMS_HOME}/etc/org.opennms.features.topology.app.icons.<topology-namespace>.cfg
.
If an icon mapping file does not exist for a topology provider, the provider does not support customization.
org.opennms.features.topology.app.icons.default.cfg (1)
org.opennms.features.topology.app.icons.application.cfg (2)
org.opennms.features.topology.app.icons.bsm.cfg (3)
org.opennms.features.topology.app.icons.linkd.cfg (4)
org.opennms.features.topology.app.icons.vmware.cfg (5)
1 | Default icon mapping |
2 | Icon mapping for the Application Topology Provider |
3 | Icon mapping for the Business Services Topology Provider |
4 | Icon mapping for the Linkd Topology Provider |
5 | Icon mapping for the Vmware Topology Provider |
Each file contains a mapping in the form of <icon key> = <icon id>
.
- Icon key
-
A topology-provider-dependent string that maps to an icon id. An icon key consists of one-to-multiple segments. Each segment must contain only numbers or characters. If multiple segments exist, they must be separated by
.
; for example,my.custom.key
. Any existing default icon keys are not configurable and should not be changed. - Icon id
-
The icon id is a unique icon identifier to reference an icon within one of the available SVG icons located in
${OPENNMS_HOME}/jetty-webapps/opennms/svg
. For more details, see Add new icons.
icon key ::= segment["."segment]*
segment ::= text+ [( "-" | "_" | ":" ) text]*
text ::== (char | number)+
char ::== A | B | ... | Z | a | b | ... | z
number ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
icon id ::= segment
# Business Service Topology
bsm.business-service = business_service (1)
bsm.ip-service = IP_service (2)
bsm.reduction-key = reduction_key (3)
1 | Icon definition for business services |
2 | Icon definition for IP services |
3 | Icon definition for reduction keys |
Icon resolution
The icon of a vertex is resolved as follows:
-
If a
vertex id
toicon id
mapping is defined, the icon referenced by theicon id
is used. -
If a mapping for the
icon key
determined by the Topology Provider for the vertex is defined, the icon referenced by theicon id
is used.-
If no mapping exists and the
icon key
has more than onesegments
, reduce theicon key
by the lastsegment
and try resolving thaticon key
.
-
-
If no mapping is defined, the fallback
icon key
default
is used.
The following example icon mapping is defined for the Linkd Topology Provider to illustrate this behavior.
linkd.system.snmp.1.3.6.1.4.1.9.1.485 = server1
linkd.system.snmp.1.3.6 = server2
If the Enterprise OID of a node is 1.3.6.1.4.1.9.1.485
the icon with id server1
is used.
If the Enterprise OID of a node is 1.3.6
the icon with id server2
is used.
However, if the Enterprise OID of a node is 1.3.6.1.4.1.9.1.13
the icon with id server2
is used.
Change existing icon mappings
The easiest way to change an icon representation of an existing vertex is to use the Icon Selection Dialog from the vertex context menu in the topology map. This will create a custom icon key-to-icon id mapping in the topology-provider-specific icon mapping file. As icon key the vertex id is used. This lets each vertex have its own icon.
If you prefer a more generic approach, modify the icon mapping file manually.
Do not remove the default mappings and do not change the icon keys in the default mappings. |
Add new icons
All available icons are stored in SVG files located in ${OPENNMS_HOME}/jetty-webapps/opennms/svg
.
To add new icons, either add definitions to an existing SVG file or create a new SVG file in that directory.
However you add new icons to OpenNMS it is important that each new icon id describes a set of icons, rather than a single icon. The following example illustrates this.
my-custom
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg id="icons" xmlns="http://www.w3.org/2000/svg">
<g id="my-custom_icon"> (1)
<g id="my-custom_active"> (2)
<!-- rect, path, circle, etc elements, supported by SVG -->
</g>
<g id="my-custom_rollover"> (3)
<!-- rect, path, circle, etc elements, supported by SVG -->
</g>
<g id="my-custom"> (4)
<!-- rect, path, circle, etc elements, supported by SVG -->
</g>
</g>
<!-- Additional groups ... -->
</svg>
1 | Each icon must be in a SVG group with the id <icon id>_icon .
Each SVG <icon id>_icon group must contain three subgroups with the ids: <icon id>_active , <icon id>_rollover , and <icon id> . |
2 | The icon to use when the vertex is selected. |
3 | The icon to use when the vertex is moused over. |
4 | The icon to use when the vertex is not selected or moused over (just visible). |
It is important that each icon id is unique overall SVG files.
This means there cannot be another my-custom icon id in any other SVG file.
|
If the new icons should be selectable from the topology map’s icon selection dialog, add an entry with the new icon id to the file ${OPENNMS_HOME}/etc/org.opennms.features.topology.app.icons.properties
.
org.opennms.features.topology.app.icons.list
access_gateway (1)
accesspoint
cloud
fileserver
linux_file_server
opennms_server
printer
router
workgroup_switch
my-custom (2)
1 | Already existing icon ids |
2 | New icon id |
The order of the entries in org.opennms.features.topology.app.icons.list determines the order in the icon selection dialog in the topology map.
|