O'Reilly logo

Essential SNMP by Kevin Schmidt, Douglas Mauro

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required