Customize Vertex Context Menu

#1

I need to add entries to the vertex context menu in topology map; is it possible to customize the vertex context menu?

#2

Yes, there is a possibility to customize the left-hand side info panel. See here: https://docs.opennms.org/opennms/releases/23.0.4/guide-development/guide-development.html#_info_panel_items

#3

Thank you Indigo.
But the scope of my “customization” is that I need to execute some SNMP set on the device, i.e. for:

  • reset device
  • put administratively up/down an interface

I supposes that the info panel is used to show information not to execute action, right?

#4

Yes, you’re right. To be honest I’m not sure if it’s possible to easily set SNMP attributes. We use SNMP4J under the hood which allows setting SNMP attributes. But I don’t know how deep the weeds are. Probably some deeper involved dev guys can shed some light here when you describe a little bit more in detail what you want to set on your devices.

#5

I need to execute SNMP set command; the entry could be in standard MIB o proprietary MIB.
Some example:

  • manage the administrative status of a network interface writing ifTable.ifEntry.ifAdminStatus
  • forcing the reboot of devices writing entry in custom MIB

Adding this feature to the NMS has the pros that the user can do “common management action” using only one applications avoiding to use a dedicated Element Manager to each type of network device (every manufacturer typically has his own EM).

My idea was to extend/customize the Vertex Context Menu in the topology map and link the new menu item to custom function.
If there is a better way … any idea is appreciated.

If changes to OpenNMS code is needed to , if someone help me to understand where to “touch” I could give my contribute to OpenNMS development.

Any help is appreciated.

1 Like
#6

Hi all dev guys.
No one can help me?
Before starting to touch code in a “wild” mode I would prefer to have hints from an expert point of view.

Thanks

#7

For extending the context menu, take a look at how we do it for Ping.

As for the actual SNMP SETs, retrieve the agent community and settings from the SnmpAgentConfigFactory interface and use the SnmpStrategy interface to issue the SETs.