7.2 Application Integration using Web Launcher Registration Files (WLRF) and Network Presenter Registration Files (NPRF)WLRFs and NPRFs are similar to the ARF in that they allow custom applications to integrate with NNM. While ARFs are used to integrate the application into the native GUI, WLRFs are used to integrate an application into the web launcher, and NPRFs are used to integrate an application into the Network Presenter. 7.2.1 Creating Your Own WLRFThe purpose of the WLRF is to provide access to additional applications for users who use the web interface instead of the ovw GUI. You may develop your own WLRFs to customize the web launcher. The web launcher can be accessed by selecting Tools Figure 7-6. The sample WLRF integrates the Event Correlation Configuration and the Full SNMP Data Access applications into the NNM web launcher.[View full size image] ![]()
The precedence of each menu item determines the occurrence of the item in the list. Since the precedence of "Configuration" is higher than that of "Monitoring Tools," "Configuration" appears closer to the top of the list. The precedence value is 1 to 100, 100 being the top of the list.The ActiveHelp keyword in the WLRF indicates the help message displayed in the status line as you pass the cursor over the item. Figure 7-6 displays the Configuration tools active help message for the Configuration tab item. The f.list keyword references the list block item.The list block describes the name of the item to be displayed, the icon, active help, and the action to be taken. The list block items correspond to items Event Correlation Configuration and Full SNMP Data Access , shown in Figure 7-6. The sample WLRF contains two list items:
The f.action keyword in the list block references the action block that is executed when selected. Each of the two actions used in the sample WLRF call a URL provided by the implementation of NNM. No new applications have been developed for this example. The sample WLRF contains two action blocks:
The action for MySnmpPresenter provides full access to SNMP data. This functionality is similar to that of the SNMP MIB Browser in the native NNM GUI. See Figure 7-7 for the access to SNMP data provided by MySnmpPresenter . When a node name is given, MySnmpPresenter provides the ability to query any MIB variable for the given device. Figure 7-7. The sample WLRF provides full SNMP data access via the web launcher.[View full size image] ![]() Figure 7-8. The sample WLRF provides access to Event Correlation Configuration via the web launcher. NNM provides five correlations that may be customized to reduce the number of events displayed in the alarms browser.[View full size image] ![]() 7.2.1.1 Configuring Event CorrelationThe purpose of event correlation in NNM is to reduce the number of events received by NNM to a reasonable number of messages in the alarm browser. NNM includes the Event Correlation Services [1] (ECS) to help manage event storms and define relationships between different types of events. During an event storm, many events may be correlated into a single event. NNM provides five pre-defined correlations, three of which are enabled by default, as shown in Figure 7-8. The NNM administrator can customize the default correlations. The following paragraphs describe the default correlations.[1] The five correlations provided with NNM are ECS circuits that provide basic correlation functionality. Additional circuits may be built with the separately purchased ECS Designer product. Network Connector DownWhen a routing device's interface goes down, NNM automatically determines which device has malfunctioned and which devices are inaccessible due to the malfunction. The inaccessible devices are tagged as secondary devices. By default, NNM increases the polling frequency of secondary devices by a factor of two during an outage. If the global polling frequency is five minutes, the polling frequency for inaccessible (secondary) devices is set to ten minutes. The multiplier for secondary devices, as shown in Figure 7-9, can be configured by the following steps: Figure 7-9. Secondary Failures include devices that become inaccessible due to a network outage. The Reduction Multiplier can be customized to reduce the polling frequency during a network outage.![]() Correlation ComposerThe correlation composer simplifies the process of modifying existing event correlations and allows you to define new ones. Pair WiseThe Pair Wise correlation matches an event to one or more previous events. For example, if an interface were to go down and come up on a device within a reasonable amount of time, the two events would be correlated. The node up event causes a node down event to be removed from the alarms browser and correlated under the node up event. This correlation is enabled by default. Repeated EventsThe Repeated Event correlation identifies multiple events having the same root cause. When multiple identical events arrive from the same source, the repeated event correlation suppresses duplicates and displays them under the one alarm. You may include additional events that are correlated as repeated events, resulting in fewer (but more informative) alarms. This correlation is enabled by default. Scheduled MaintenanceThe Scheduled Maintenance correlation allows the administrator to configure planned network maintenance. Events generated by the specified devices during the scheduled maintenance period are excluded from the alarms browser. This correlation is disabled by default. 7.2.2 Zman's Sample WLRFThe following WLRF is available for download from the server http://www.phptr.com/title/0130352098 for both Unix and Windows systems. Obtain the Readme file for Chapter 7 for a description of the files available and install procedures. You can parse the WLRF to check for accurate syntax by executing the command regverify $OV_WWW_REG on Unix and regverify %OV_WWW_REG% on Windows.Application "Student Applications" { DisplayString "Student Applications"; Version "1"; Copyright { "no copyright" }; Description { "Module 3", "Stans fine application experiment" } Tab <60> "Management Tasks" Icon "launcher/mgtarea.20.gif" ActiveHelp { "Administrative Applications" } { <30> "Monitoring Tools" Icon "launcher/infofold.16.gif" ActiveHelp { "Monitoring tools" } f.list "Monitor"; <35> "Configuration" Icon "launcher/folder.16.gif" ActiveHelp { "Configuration tools" } f.list "ConfigureEC"; } List "Monitor" { <60> "Full SNMP Data Access" Icon "launcher/mgtarea.20.gif" ActiveHelp { "Access to the full SNMP data presenter." } f.action "MySnmpPresenter"; } List "ConfigureEC" { <70> "Event Correlation Configuration" Icon "launcher/evcorconf.16.gif" ActiveHelp { "start Event Configuration window" } f.action "Configure Event Correlation"; } Action "MySnmpPresenter" { URL "/OvCgi/snmpviewer.exe?Context="; WebWindow "My_SNMP_Data_Presenter" { Type limited; Width 800; Height 600; } } Action "Configure Event Correlation" { URL "/OvDocs/ecs/ecscmgl"; WebWindow "ECS_Event_Configuration" { Type full; Width 650; Height 500; } } } The WLRF listed previously could easily be modified to allow access to documentation to satisfy the Sealey Inc. requirement for online documentation. 7.2.3 Creating Your Own NPRFThe NPRF allows you to add custom applications to the Network Presenter. The sample NPRF provides access to the Object Database and Topology Database applications as defined previously by the ARF in this chapter. Applications implemented in the NPRF must be web-based (accessible via a URL) applications. This section provides the Zman menu bar shown in Figure 7-10. You can customize the menu bar, toolbar, and the symbol popup menu of the Network Presenter by defining a NPRF. Figure 7-10. The sample NPRF integrates the Zman menu bar providing access to the Object Database and Topology Database via the Network Presenter.[View full size image] ![]() Figure 7-11. The sample NPRF integrates the "O" and "T" toolbar icons, providing access to the object and topology database information via the Network Presenter.[View full size image] ![]() Figure 7-12. The output for ovobjprint from the NPRF (web launcher) displays the same information as the output using the ARF accessed from the native GUI.[View full size image] ![]() 7.2.4 Zman's Sample NPRFThe following NPRF is available for download from the server http://www.phptr.com/title/0130352098 for both Unix and Windows systems. Obtain the Readme file for this chapter for a description of the files available and install procedures. You can parse the WLRF to check for accurate syntax by executing the command regverify $OV_WWW_REG on UNIX and regverify %OV_WWW_REG% on Windows./* * Danger, Wil Robinson! This is a Zman Hack! * */ Application "Zmans cool cgi-boo apps " { Description { "Zman", "Launch Zmans Cgi Applications" } Version "NNM Release B.06.00"; Copyright { "Copyright (c) 1990-1999 Bogus Data, Inc", "Many reservations." } DisplayString "Zmans Launch Zmans Cool Cgi Apps thingy"; MenuBar "Zman" _Z { "OV Database Information" CONTEXT "AllContexts" f.menu "DB Info"; "Tests" CONTEXT "AllContexts" f.menu "TestMenu"; } Menu "DB Info" { "Object DB" CONTEXT "AllContexts" f.action "ObjectDB_Info"; "Topology DB" CONTEXT "AllContexts" f.action "TopoDB_Info"; } Menu "TestMenu" { "TestCgi" _C CONTEXT "AllContexts" f.action "TestCgi"; "TestSettings" _S CONTEXT "AllContexts" f.action "TestSettings"; "TestObjprint" _O CONTEXT "AllContexts" f.action "TestObjprint"; "TestTopodump" _T CONTEXT "AllContexts" f.action "TestTopodump"; "TestMapdump" _M CONTEXT "AllContexts" f.action "TestMapdump"; } Action "ObjectDB_Info" { MinSelected 1; MaxSelected 10; URL "/OvCgi/zweb_objprint?$OVwNumSelections&$OVwSelections"; WebWindow "zweb_objprint" { Type limited; Scrollbars on; Width 800; Height 600; } } Action "TopoDB_Info" { MinSelected 1; MaxSelected 10; URL "/OvCgi/zweb_topodump?$OVwNumSelections&$OVwSelections"; WebWindow "zweb_topodump" { Type limited; Scrollbars on; Width 800; Height 600; } } Action "TestCgi" { URL "/OvCgi/test-cgi"; WebWindow "TestCgi" { Type limited; Scrollbars on; Width 800; Height 440; } } Action "TestSettings" { URL "/OvCgi/test-settings?$OVwNumSelections&$OVwSelections"; WebWindow "TestSettings" { Type limited; Scrollbars on; Width 900; Height 600; } } Action "TestObjprint" { URL "/OvCgi/test-ovobjprint"; WebWindow "TestObjprint" { Type limited; Scrollbars on; Width 625; Height 250; } } Action "TestTopodump" { URL "/OvCgi/test-ovtopodump"; WebWindow "TestTopodump" { Type limited; Scrollbars on; Width 620; Height 540; } } Action "TestMapdump" { URL "/OvCgi/test-ovmapdump"; WebWindow "TestMapdump" { Type limited; Scrollbars on; Width 555; Height 555; } } PopupItem <0> "PopupSeparatorZ1" Context (AllContexts || WantPopupMenus) TargetSymbolType ANY f.separator; PopupItem <0> "ObjPrint" CONTEXT (AllContexts || WantPopupMenus) TargetSymbolType ANY f.action "ObjectDB_Info"; PopupItem <0> "TopoDump" CONTEXT (AllContexts || WantPopupMenus) TargetSymbolType ANY f.action "TopoDB_Info"; ToolbarButton <0> "TBAR_SEPZ1" Context "AllContexts" f.separator; ToolbarButton <0> @"C/toolbar/objectinfo.24.gif" Context "AllContexts" f.action "ObjectDB_Info"; ToolbarButton <0> @"C/toolbar/topoinfo.24.gif" Context "AllContexts" f.action "TopoDB_Info"; } |