Adding a Menu to NNM
Once you have a toolbox of scripts, adding them to an NNM menu makes them easier to access and execute. This trick can be especially useful if you prefer to use NNM's graphical interface.
The key to adding custom menus is the directory $OV_REGISTRATION/C. ($OV_REGISTRATION contains directories for all the languages available on your system; C is the directory for the default language and is probably where you should start.) The C directory contains all the files that make up the menu system you see when you run NNM. For example, the file ovw contains the familiar options from the main window (New, Open, Refresh, etc.).
Let's look at the $OV_REGISTRATION/C/ovsnmp/xnmloadmib file. It's fairly easy to see how to hook an external command into a menu. Let's jump right in and create a menu that is two levels deep with two menu choices:
Application "Graph Menu"
{
Menubar <100> "Local_Graphs" _p
{
<100> "Network" _N f.menu "network_menu";
}
Menu "network_menu"
{
<90> "5 Minute CPU" _M f.action "5mincpu";
<90> "Bits In and Out For All Up Interfaces" \
_B f.action "bit_for_all_up";
}
Action "5mincpu" {
Command "/opt/OV/local/scripts/Cisco_5min_cpu \
\"${OVwSelections}\"";
MinSelected 1;
MaxSelected 7;
SelectionRule (isSNMPSupported || isSNMPProxied) ;
}
Action "bit_for_all_up" {
Command "/opt/OV/local/scripts/Cisco_Line_Up_Bits \
\"${OVwSelections}\"";
MinSelected 1;
MaxSelected 3;
SelectionRule (isSNMPSupported || isSNMPProxied) ;
}
}Create a file within $OV_REGISTRATION/C ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access