[LWN Logo]
[LWN.net]
From:	 announce-admin@opennms.org
To:	 announce@opennms.org
Subject: [OpenNMS-Announce] OpenNMS Update v2.19
Date:	 Tue, 8 May 2001 22:51:24 -0400 (EDT)

====================
   OpenNMS Update
====================
  Vol 2., Issue 19
====================
    May 8, 2001
====================

   In this week's installment...
     * Project Status
          + Preparing for 0.7.5
          + Minimum System Requirements
          + Notification Revisited
          + Coding Projects Underway
     * Upcoming Road Shows
     * Early Adopter Program Status
     * The Wish List


==============
Project Status
==============

Preparing for 0.7.5:

     We are slowly but surely putting the wraps on OpenNMS release
     0.7.5. This release contains all of the original features in 0.7.4,
     some polishing of both those features and existing features, and a
     few new tweaks that make the product notably more usable.

     As has been the case for some time now, our user interface
     improvements have been focused on the Web UI. This release is no
     exception. Additionally, we've rolled in some enhancements and
     minor bug fixes, plus a brand spanking new reporting mechanism.

     Probably the most interesting and monumental change from a user's
     perspective will be the addition of our Web-based Event
     Configurator. While the documentation on how to use it is somewhat
     (read: totally) lacking, if you combine the discussion of the
     eventconf.xml available in the April 3rd Update
     (http://www.opennms.org/sections/updates/update0214.xml) with a
     little clicking, typing, and general intuitivity (is that a word?),
     you should figure things out pretty quickly. I should point out
     that Jason did a very nice job with this, especially since this 
     was a learning foray into the wierd and wonderful world of JSPs.

     We anticipate a release date of sometime later this week or early
     next week. As always, you can watch the web site for availability,
     as well as the Freshmeat newsletter (or you can subscribe to the
     project at Freshmeat, as well). We look forward to your feedback
     and results of your testing.

     So when it's available, enjoy 0.7.5 with our regards.



Minimum System Requirements:

     This question seems to come up on a pretty regular basis, and I was
     reminded at the Twin Cities LUG that this information was a glaring
     omission in my presentation. So I thought I'd take a moment and not
     only tell you what they are, but some of the reasons why they are
     reasonably vague.

     First, the current minimum system requirements are as follows:

     * 400Mhz Processor or Higher (assuming Intel or compatible)

     * 25MB Disk Space, under the /opt partition (for default
       installation destination), plus 5MB under /var/lib/pgsql/data for
       the PostgreSQL database, and 9MB per interface you wish to collect
       SNMP data from.

     * 256MB RAM

     Now let's discuss the problem with identifying system requirements
     for an application such as OpenNMS. There are four major factors
     which are going to drastically impact the performance and
     scalability or our application (and these are pretty generic and
     can be applied to any network management package providing similar
     functionalities):

     * Number of nodes being managed

     * Number of services per node being managed

     * Number of concurrent operators

     * Event load (Number of events received over some period)

     Given these variables (and these are pretty BIG variables), the
     sizing of your system could vary widely--anywhere from the numbers
     above to GBs of RAM, GBs of disk, and multiple processors. Consider
     this the ultimate "Your Mileage May Vary" statement.

     What would be ideal at this stage is that instead of having a
     stated "Minimum System Requirements", instead we provide a
     calculation or a multi-dimensional matrix of determining what your
     system size should be. However, until we get a little benchmarking
     information back from the world in general, we'd be hard-pressed to
     create such a thing. Consider this a call to action. Any help you
     can provide is certainly appreciated.



Notification Revisited:

     We've discussed how wonderful our notification subsystem is in
     previous updates (see
     http://www.opennms.org/sections/updates/update0215.xml), and we've
     even talked about where it gets invoked (eventconf.xml, see
     http://www.opennms.org/sections/updates/update0214.xml), so now,
     let's pull the covers back and see what's actually happening when
     we configure a notification, which for argument's sake is paging,
     emailing, or otherwise contacting someone when a particular event
     happens.

     At its simplest, the <notification> element in eventconf.xml is
     basically a hook to an exec() call, much like <autoaction> and
     <tticket>. So the challenge comes in what you can invoke at the
     command line to accomplish the task at hand.

     Given the freedom of assigning any command line command to a
     notification gives you two interesting options:

     * Integration with any tool that will allow you to do notifications
       from the command line, e.g., Telamon Telalert.

     * Don't use this element for notifications at all, but simply for
       another automated action. They both get parsed out and executed by
       OpenNMS.actiond in exactly the same way.

     Since we're talking about notification in the first place, let's
     ignore the second option for now.

     So at this point, we know where to fire off a notification from and
     how it gets invoked. The question now is: Who do I notify and how
     do I get a notification to them?

     If you take a look at the users.xml file and the groups.xml, you'll
     see the critical pieces. You can refer to the the OpenNMS Update
     v2.15 (see link above) for more details on how those files work
     together for the notification ordering and escalation. I won't
     re-hash that here.

     In v2.15, I did allude to the fact that we use QuickPage under the
     covers as our hook to TAP/IXO. I also kind of skated out without
     talking about the qpage integration. So first, my apologies. Now, a
     crack at how all that plays out.

     QuickPage (http://www.qpage.org) is pretty cool in its own right,
     and for what it is and what it does, it's pretty functional. We've
     actually replicated some of its functionality (specifically,
     groups) outside of QuickPage, simply because we felt we needed more
     granular control of how group notification and escalation worked.
     You can manually configure QuickPage to work around this, but we
     don't recommend it. Because we've abstracted groups from QuickPage,
     the QuickPage configuration file has no need to know about the
     groups.xml file, so it doesn't. However, the data that we've stored
     in the users.xml file is critical to QuickPage. In an effort to
     keep things reasonably straight-forward and to give you a headstart
     on QuickPage configuration, we've provided the qpage-cf-gen.pl
     script (under /opt/OpenNMS/bin) to convert our users.xml file to a
     mostly functional QuickPage config. The script, in its current
     form, requires that you have expat installed
     (http://expat.sourceforge.net), requires the XML::Parser Perl
     module (perl -MCPAN -e 'install XML::Parser;'), and only generates
     a fragment of the file. This is slowly improving, but will not be
     complete for 0.7.5. In the interim, run it after you've built your
     users in the OpenNMS Admin GUI, and the config file will be built
     and sent to standard out. Redirect it to a file, and as root, save
     that file to as /etc/qpage.cf. Now, you'll need to edit the file to
     provide the critical system-specific information it will need,
     including where the modem is located, local phone number, etc. But
     you should also note that all of the users will be built for you
     based on the information you provided when you entered them in
     OpenNMS.

     So once QuickPage gets set up and is functional (and you might want
     to try using the /usr/local/bin/qpage utility to test it out), now
     comes the challenge of invoking it when an event comes in.

     We're providing, in 0.7.5, a script that gets you through some of
     the hard parts of invoking our Notify code (as described in Update
     v2.15). This script is entitled, appropriately enough, notify.sh
     and is available in /opt/OpenNMS/bin. While this script does little
     other than to abstract the ugliness of command line invocation of
     Java with fully qualified class paths, it does that particularly
     well and is actually pretty clean to both use and remember what you
     were trying to do. Here's the breakdown on how to use it:

       ./notify.sh -d <notificationName> [-nm "Numeric Message"] [-tm \
        "Text Message"] [-subject "Subject Line"]

     The above "Usage" line merits some explanation, but it's pretty
     intuitive on its own. -d is the "destination", which maps directly
     to a <name> from the notifications.xml config file. Depending on
     your destination, you can send either a -tm text message (for
     alphanumeric pagers or email destinations, or an -nm numeric
     message, for numeric pagers. The idea is that you could include
     both of these, in case your destination includes a mixture of
     numeric and text destinations, and the correct message type will
     end up in the right place. Or at least that's the idea.

     The -subject tag is just that -- the subject line of an email
     message, which obviously is going to an "email" destination. This
     tag is optional, even if going to an email destination, and if it
     is omitted, the subject line will appear as "Notification #X",
     where the X is replaced with the notification ID, as stored in the
     database.

     Once you've configured your pages to be sent, your users can then
     use the Web UI to acknowledge that they've received the event. This
     acknowledgement will be recorded in the database, and once it is
     entered, the escalation process will be stopped. Thus, if you set
     up your notification groups with a manager-type getting notified at
     the end, you've not only taken steps to keep them informed, but
     you've motivated your users to actually get in and acknowledge
     their pages. That'll teach 'em to screw with you...

     So why all this on notification again? Two main reasons:

     * The recent addition of the notify.sh should help clean up this
       whole process for most of you (aside from the upcoming
       housecleaning for the whole QuickPage installation/configuration)
       and make it relatively usable.

     * We're looking for folks to step up and run this thing through its
       paces. Any help is most appreciated.

     So that's all on notification this time around. Stay tuned for
     upcoming information on the next iteration of the qpage-cf-gen.pl,
     unless of course someone wants to take that piece on as well. ;-)



Coding Projects Underway:

     * CDP/L2/Mapping -- Pete is alive and well and getting into CIM and
       DEN. Neat technologies that are dying for someone to implement
       them. Pete's the man!

     * Snort Integration -- The effort has stagnated and Matthew has been
       sidetracked with his new job (and training!!) with the Evil
       Empire. This is going on the back-burner, until someone wants to
       step up to this task (or Matthew gets out of class...)

     * Solaris Port -- We're starting to look for Sparc hardware that we
       can build/test on. Anybody willing to take this one on?

     * NT/2K Port -- No update. Evidently all the Microsofties out there
       are as scared of this one as we are...

     * SNMP Poller/Data Collection -- Some of the Cricket/MRTG users in
       Minnesota have offered up some of their configs, converted to
       DataCollection.xml format. I'll keep you posted on this one.

     * Logging (Conversion to Log4J) -- Seth has completed all all of
       Discovery and capsd, and will be proceeding (once his brain starts
       to function outside of a Log4J context again).

     * User Interfaces -- Jacinta's PDFs are being tweaked further to
       support not just textual report generation, but she's working on
       SVGs within the FOP stuff. Anybody out there done anything like
       this with Xalan? Want to make yourself available to help, answer
       questions, or do some testing?

     * Configuration -- Event Configurator en route.

     * Discovery/CAPSD/Database Review -- Some early "re-parenting" code
       is now in. To us, re-parenting is when you discover five
       individual interfaces that don't support SNMP, then later, when
       the device DOES support SNMP, we find out that all five are on the
       same node. Re-parenting is the process by which the interfaces get
       associated with the correct node.

     * Agent Technologies -- Agent effort still on ice while Craig does
       Scoreboard-related stuff.

     * Development Environment -- Ben is starting to work on Tinderbox
       and LXR again.


===================
Upcoming Road Shows
===================

   In case you've never seen us live and in person, here's your chance:

     * May 10th - Boulder LUG, Boulder, CO
     * June 1st - GNU/Linux BBQ!! Drink good beer and eat fire.
     * June 2nd - Northern Virginia LUG (NOVALUG), Alexandria, VA
     * June 13-14 - OpenView Forum 2001, New Orleans, LA
     * July 25 - O'Reilly Open Source Convention, San Diego, CA
     * August 28-30 - Linux World Expo, San Francisco, CA (BOOTH)

   For additional details on these appearances and others, check out the
   web site at http://www.opennms.org/sections/opennms/events



======================================================
Early Adopter Program Status - Courtesy Jeff Schneider
======================================================

   Shane: It's quiet out there.
   Jeff: Yeah, almost _too_ quiet
   Shane: I'll send for reinforcements

   Well, we're in a waiting mode as some of our early adopters regroup
   and redeploy, some are in a "burn in" period, and still others are out
   having children.

   While we're waiting for the deluge that is no doubt on it's way, we've
   decided it's a good time to get another consultant involved, as some
   of you may have noticed in the last update.

   In the meantime we're evaluating the newest cool stuff that's coming
   our way, determining how it fits into some of the early adopter
   environments.

   + Tip of the Week: Admin vs. User logins +

     This seems to have been a point of confusion over the last couple
     of weeks.

     Although all logins for the "swing" GUI are through the same login
     prompt, logging in as admin is much different from logging in as a
     usual user.

     When logging in as administrator, a gui front-end for editing the
     configuration XML files. It does not have any interaction with the
     OpenNMS core processes.

     When logging in as any other user (or through the web UI) you are
     connecting to RTCViewCategory Manager. This is why we often see "I
     can log in as admin, but get errors that say RTCViewCategory
     Manager may not be running when I log in as any other user." The
     problem is usually that SCM has not been started.


=============
The Wish List
=============

   And now, on with the list...

     * Rewrite the Quick Start guide so it's up to date.
     * In the 0.7.x release (and CVS), checkout the TODO file
     * Testing on notification. See above.
     * New Data Collection configs wanted for the DataCollection.xml
     * Build some event configurations.
     * Any interest in more TCP pollers? Let us know (or better yet,
       build one yourself...)
     * LDAP/POP3/nmap Pollers
     * Documentation and development your game? How about a white paper
       on how to extend OpenNMS with custom pollers, custom configs,
       and/or your own scripts/code.
     * Any additional help we can get proving our documentation either
       right or wrong is appreciated. Thanks.
     * Got any creative applications for OpenNMS that we haven't
       considered? Let us know!
     * A Security analysis of OpenNMS?
     * Got an environment that could stress test OpenNMS, from a
       scalability perspective? We'd love the feedback!


=============
Afterthoughts
=============

   Last week to the Twin Cities (Minn/St. Paul) LUG was a blast. Not only
   did I get to meet Bob Tanner (although he sandbagged on me and was
   sniping from the audience before he introduced himself), but the crowd
   was pretty well populated with folks familiar with open source network
   management technologies, including Cricket, MRTG, RRDTool, Scotty,
   fping, and arpwatch. Cool! Got lots of good questions and great
   feedback. Look for some of the features we discussed coming sooner
   than later... Big thanks to Amy for the invite and setting up the
   meeting.

   Surprisingly, I also got someone to take me up on my "Available for
   Dinner" offer. This time around, it was mailing list lurker and
   network management consultant Chuck Craft. It's great to talk tech
   with somebody that knows their stuff, and Chuck certainly fills that
   bill. And it's even better when there's plenty of beer around...

   This week, we're off to the Boulder LUG. I'm planning to hook up with
   Pete Siemsen (CDP/L2 man) and Rick Casey (Events and Maji implementer,
   turned serious grad student) while I'm out there. We've also got an
   early adopter in that neck of the woods I might try to hunt up.  And
   I believe that good folks at LWN (http://lwn.net) are out that way too.
   It'd be nice to put faces with names, kids.  I'll buy the beer?

   A note of apology to everyone, including Jeff Schneider, that read
   into last week's job posting that Jeff had gone elsewhere. He hasn't,
   and as a matter of fact, is starting to gear up for the upcoming
   announcement of professional services and support available for
   OpenNMS. But there will be MUCH more on that later.

   In regards to the job posting, my thanks to everyone that expressed an
   interest. We've made an offer and it has been accepted, so the
   position has been filled, and we're excited about the experience that
   our newest newbie brings to the table--but more on that next week.

   And as for me, put a fork in me 'cuz I am done!
_______________________________________________
announce mailing list (announce@opennms.org)
To subscribe, unsubscribe, or change your list options, go to:
http://www.opennms.org/mailman/listinfo/announce