OpenNMS Version 1.10 Released

I am happy to announce that we have officially released OpenNMS 1.10 – the first new stable release since June of 2010. A lot of work went into this release, and although the web user interface has not changed much, this version of OpenNMS should be more stable and better performing than any version before it.

We delayed the release by 10 days in order to improve the documentation on the wiki, where you can also get the full release notes

What’s New in OpenNMS 1/10

Architectural Changes

IPv6 Support

The OpenNMS core was completely refactored in 1.10 to deal with IP addresses in a consistent manner, including adding complete IPv6 support. You should now be able to use IPv6 addresses anywhere you would use IPv4 addresses in 1.8. Additionally, Provisiond can scan the newer IPv6-capable IP-MIB to detect IPv6 interfaces on provisioned nodes.

IPv4 and IPv6 ICMP (ping) support can be configured in the “opennms.properties” file in $OPENNMS_HOME/etc.

Database Schema Management Improvements

The Liquibase database management introduced in 1.8 has been improved, and thanks to a newer Liquibase core, is much faster.

XML Serialization Updates

A number of configuration classes which used Castor for serializing configuration files have been updated to use JAXB instead, which gives us a lot more flexibility in how the configuration objects are dealt with.

Web UI Infrastructure Updates

A number of changes have happened in the Web UI core, including more GWT-based components, and removing our old Ext-JS-based UI elements.

Logging Updates

Logging has been cleaned up significantly in a number of places since 1.8, which should make it easier to debug problems.

Love

Each compile of OpenNMS 1.10.x contains 20% more love than 1.8.

Updated Features

Drools

While there has previously been support for Drools for doing complex business logic based on OpenNMS events, it was non-functional in 1.8 because of some incompatibilities in a number of OpenNMS’s dependencies. The Drools engine has been cleaned up and is working properly. An overview of using Drools in a modern OpenNMS install is available in the March 14th, 2011 TWiO.

Major Reporting Engine Updates

The Jasper reports introduced in OpenNMS 1.8 have gone through a number of significant updates, including adding support for report parameters, as well as retrieving RRD data in reports.

Instrumentation Log Reader Updates

The instrumentation log reader (used for evaluating collection performance) has been updated to include a web UI. It also supports a number of options for filtering and sorting collection times.

Link Daemon Refactoring

Linkd, the OpenNMS link daemon, has gone through a huge refactoring. While the existing Linkd in 1.8 worked for some people, there were a large number of use cases that should have worked that just plain failed. Linkd went through a lot of cleanup, and should work to detect links for a lot more devices, especially with force-ip-route-discovery-on-ethernet set to true.

Provisiond Overhaul

Provisiond has been through a ton of cleanups and fixes. Besides IPv6 support, a lot of corner cases in provisiond behavior have been resolved.

Also, detectors have been implemented for every service that Capsd supports.

Asset Management

Asset management data has been expanded to include a number of new attributes, and the asset management UI has been updated.

Syslogd Overhaul

Syslogd has been refactored to improve performance and add support for better parsing of known formats including SyslogNG and RFC 5424 messages. See the comments in “syslogd-configuration.xml” for details.

HTTP API Updates

Our HTTP code has been updated to use Apache HTTP Components rather than the older HTTPClient API. In addition, we support relaxed standards for SSL certificates when making HTTPS connections.

Data Collection Updates

In addition to the configuration file changes, support for the new “PersistRegexSelectorStrategy” gives you more control over what data is persisted when doing data collection. And example would be the Net-SNMP configuration for disk IO, in “$OPENNMS_HOME/etc/datacollection/netsnmp.xml”, which lets you ignore “ram” and loopback devices when persisting.

Configuration File Updates

Split Configuration Files

A number of configuration files now support being split up into multiple files for ease of maintenance, to continue work done to the event configuration in 1.8:

  • datacollection-config.xml
  • snmp-graph.properties
  • syslogd-configuration.xml

Many Updates to Device Configuration

Many new additions and fixes have been made to event configurations, data collection, thresholding, and more.

New Features

JNA-Based ICMP

While ICMP (ping) still relies on some native code, we have added an alternate ICMP strategy which uses JNA. It supports both IPv4 and IPv6, and can be run straight from Java code without installing a corresponding native component. While it is not enabled by default (the JNI implementation of ping is still more performant), it can be used by remote pollers for doing ICMP availability.

New Plugins and Monitors

  • DNS resolution monitor, for testing V4 or V6 DNS resolution
  • LDAPS plugin and monitor, for monitoring LDAP-over-SSL
  • Selenium monitor, for doing complex scripted web site monitoring using Selenium

ReST Service Additions

A number of new ReST services have been added:

  • /rest/stats/alarms – retrieve statistics on alarms (newest, oldest, acknowledged and unacknowleged)
  • /rest/remotelocations – retrieve remote poller availability information
  • /rest/sched-outages – retrieve scheduled outage information

Does Monitoring Really Suck?

I’ve been seeing the phrase “monitoring sucks” lately. Recently, Kris Buytaert organized a “monitoring sucks” hackathon after FOSDEM, and in a similar vein Cliff Moon, the CTO of Boundary (a monitoring service provider), also posted a “Why monitoring sucks – for now” article.

Working with OpenNMS as I have for the last decade, I really can’t share the sentiment that things suck. Having spent the decade before that as a consultant working with products like HP’s OpenView, Micromuse NetCool, Concord Network Health and BMC’s PATROL, we set out with OpenNMS to build the best tool for consultants like me – something that combines the functions of all of these products under one umbrella, with the ability to quickly and easily expand that functionality as needed. That’s why you’ll hear me refer to OpenNMS as a network management application platform instead of just an application.

OpenNMS has been addressing a lot of the concerns raised in Mr. Moon’s article for years now. Unlike point products that focus on data collection or service monitoring or trending, OpenNMS does all of them in one package. It also includes functions, such as inventory, that aren’t usually addressed in a monitoring solution. With easy, API-level integration with trouble ticketing systems (Request Tracker, OTRS, Jira, etc.) and configuration tools like RANCID, OpenNMS can be easily expanded as a given network environment grows.

We realized a long time ago that traditional alerting mechanisms were broken, so in addition to such staples as “high” and “low” thresholding, we added “relative” and “absolute” options as well to better detect anomalies. The built in alarms subsystem allows for complex automations to be created, and the event translator does a great job of enriching basic events with information such as customer impact. Finally, with 1.10 we’ve resurrected and improved the OpenNMS integration with Drools, where extremely complex analysis can be built into the system to streamline alerting. This is a key feature that led Juniper to license OpenNMS as part of their JunOS Space management product.

But I have to ask myself, if OpenNMS is so cool at solving management problems, why do people still think things suck? I can think of two reasons, although I’m sure that there are many more.

The first is that OpenNMS is written in Java, and a lot of those in the “devops” world either have no Java experience or they are prejudiced against it. The second is that OpenNMS is a seriously complex platform, and unlike some of the point products mentioned it really does take an investment of time to get the most out of it.

I can’t do much about the former issue, and history seems to have demonstrated that if people are prejudiced enough against a better solution they will eventually get left behind. I’m not saying that Java is great or even that Java is better than other options, but in many cases OpenNMS is better than the options and if Java is what’s keeping you away from it, then that’s a shame.

But the second issue I can address, and we hope to do so this year in a number of ways. The best way to help people climb the learning curve with OpenNMS is in education, and we even delayed the release of OpenNMS 1.10 in order to get the documentation to a much higher level than it has been in the past. Also this year we are having a couple of users conferences focusing on addressing real world and real time solutions, as well as increasing the number of our training courses. Finally, I hope to put together some videos to jumpstart those interested in coming up to speed with the platform.

So if you think monitoring sucks, please check out OpenNMS. Perhaps we can change your mind.

2012 OpenNMS Training

The first training courses for 2012 have been scheduled. We’ll be holding classes at the OpenNMS Headquarters in lovely, metropolitan Pittsboro, NC the last week in February, and we’ll have a class in the United Kingdom at the University of Southampton the last week in March.

Registration is now open. Hope to see you there.

Super Bowl XLVI

Congratulations to the world champion New York Giants for winning Super Bowl XLVI.

I’ve been an NFL fan since I was nine years old. I was born the year before the first Super Bowl, and my team, the Pittsburgh Steelers, won Super Bowl IX on my ninth birthday, so I’ve always had a soft spot for the game (NFL expansion has made sure that my birthday will never fall on Super Bowl Sunday again). In all those years of watching football, I have never seen the situation where one team wanted to let the other score a touchdown, and to watch an offensive player tried his damnedest not to score one.

Of course, it wouldn’t be the Super Bowl without Papa Johns Pizza, and this year I got to order from the brand new Pittsboro store. Here is a screenshot of the OpenNMS store monitoring instance:

I ordered our pies about 2pm for a 5pm pickup and it went flawlessly (included getting 50% off by using the promotion code “CANIAC” since the Carolina Hurricanes had won their last game). We had some of the gang from the office and other friends over, and it was a nice respite from trying to get OpenNMS 1.10 out the door.

The commercials could have been better, however.

Ubuntu's HUD

I am on the road this week (shout out to Boise) and it is the first trip I’ve taken where I’m spending almost all of my time on my Macbook Air since upgrading it to run Linux.

I’ve been pretty happy with it. Wireless works fine, and while I sometimes struggle with nvidia-settings when trying to run an external monitor, I haven’t hit anything where I had to boot back into OS X, at least for very long.

As someone who has decided to run Linux on the Desktop, I am very eager for news on the future direction of such things. I noticed today on Mark Shuttleworth’s blog that he was announcing a new feature in Ubuntu called the “Heads Up Display” (HUD).

The idea is simple – instead of a hierarchical menu have an intelligent search box that learns what you use the most, and can use “fuzzy matching” to help you get to what you want fast. Once it is considered ready for prime time, I’ll probably check it out.

However, there were a couple of things about his post that bothered me. First, he wants to add voice recognition. While that is all well and good, I must be the only person on the planet who doesn’t want to talk at his electronics. Sure, I love being able to dial my mobile phone by voice when driving, but I don’t want to have to speak “Find Nekkid Pictures of Scarlett Johansson” into my browser. I experience so many people on cellphones creating noise pollution that I don’t want to have to deal with it in other aspects of technology. While this probably won’t be the default for most devices, I am still not as excited about it as Mark seems to be.

Second, nowhere in his post did he mention Gnome 3 as an inspiration. I’ve been using the much maligned desktop for awhile now and I love it. When I need to run a program I simply drag my mouse into the upper left corner of the screen and type in the name of what I am looking for in the “Type to search” box. Now it isn’t smart or fuzzy, but it gets the job done and seems to me to be very similar to HUD.

I especially liked Mark’s comment “Instead of cluttering up the interface ALL the time, let’s clear out the chrome, and show users just what they want, when they want it.” which is very similar to what I wrote about Gnome 3: “It gets me to where I need to be, and then it gets the hell out of the way.”

As someone who doesn’t plan to leave the linux desktop, I am excited when improvements like HUD are being implemented. In the ecosystem that is open source, the great ideas will propagate, and if HUD takes off I would expect to see something similar in other offerings.

Evolution Mail and SOGo Address Book

Just a tip for anyone using Evolution mail with the SOGo Carddav address book. Sometimes I launch Evolution (usually after a reboot) and I notice that there are no contacts in my Webdav calendar, Nothing I can do in configuration seems to help, and I get an error if I try to delete the address book to re-add it.

I figured out that if I stop Evolution, open a terminal and kill the:

/usr/lib/evolution/e-addressbook-factory

process, my contacts will reload properly. Might be some sort of race condition but I figured I’d mention it here in case someone else hits the same problem.

Oh, this is on an up to date Debian Wheezy install running Gnome 3.

Welcome Ireland (Country 25)

Yesterday we received a PO from Ireland, which is the 25th country in which we have commercial customers.

It’s pretty exciting, although being a huge fan of Guinness I am upset that I don’t get to go.

The other countries are, in no particular order:

Spain, Portugal, Egypt, Canada, Mexico, Singapore, Japan, Australia, Israel, Denmark, France, Germany, Switzerland, The Netherlands, the UK, Italy, Trinidad, Malta, India, Honduras, Chile, Sweden, the UAE and the US.

Using ddclient for DynDNS Updating

Just a quick note on my #noapple efforts. I am now running Debian wheezy with Gnome 3 on all three of my main machines.

Since I have a dynamic IP address at the house, I use DynDNS to maintain a DNS record that changes when my IP does. In order to update that automatically I used to use a tool downloaded from their website, but I found that ddclient does the job on Debian.

I tried ez-ipupdate as well but it seemed to want to monitor the physical address of an interface on the machine itself, and I have a router between my home network and the Internet. ddclient was able to pick that up automatically.

Some Thoughts on SOPA/PIPA

It is doubtful that anyone who actively uses the Internet missed yesterday’s protest of the SOPA/PIPA bills now before congress (well, at least PIPA, I do believe SOPA has been stalled in the House but not killed outright).

I am, of course, against this legislation, but more due to the fact that I doubt the US Government would understand the Internet enough to correctly enforce it versus wanting to support piracy. Last year saw a US congressman lose his seat because he was clueless when it came to understanding how information on the network is made available, and my belief is that he was probably one of the better informed politicians. SOPA and PIPA go much farther than, say, legislation like the Digital Millennium Copyright Act (DMCA), and there have been several notable abuses of that law (such as its use against Dmitry Sklyarov) that one can only imagine the horrors that would be unleashed.

I read a number of commentaries about these bills, including the one by Scott Adams and the one by Wil Wheaton, who both produce creative content and are against SOPA/PIPA (although for different reasons).

My take on the whole thing is that it is not a effort to protect the content industry from piracy, but instead it is an effort to protect a dying business model. Promoting entertainment, in the forms of music, video, books, software, etc., is both very profitable and controlled by a small group of people. It used to be necessary to have a studio, record company or publishing house manufacture and promote an artist’s work, but with the advent of the Internet both the cost and need of these industries has diminished. They used to be a necessary evil, and it appears that in the interest of greed they often screwed over the people who actually created the content (see Hollywood Accounting on Wikipedia). Now that they are becoming unnecessary, they are scared, and since we are talking about billions of dollars here, it is doubtful that they are going to go gently into that good night. They want to lock down and control distribution again, and one way to do that is to create legislation that lets them go after any site that displeases them, preferably with as vague and nebulous rules as it is possible to create.

Most people hate change (I think I am one glaring exception) as it tends to cause some friction and stress. In every great transition: from the telegraph to the telephone, from the horse and buggy to the automobile, from radio to television, even from closed to open source, there are those that want to hold on to the old way. But no matter how long it is delayed, change is inevitable, and it is often better to adopt early then to fight it.

That is why I always applaud when I see artists attempt new models. Bands like Radiohead sell directly to their fans (the biggest fear of the record companies) and performers like Louis CK are able to produce and distribute their own films. Those are examples of how the Internet changes distribution, but what really gets me excited is when business models change. Randall Monroe makes a free web comic, and he is able to make a living at it (it does help when the work is brilliant). Likewise, the band Phish makes money touring (even inviting fans to record and distribute their performances) in addition to record sales, and acts like Jonathan Coulton offer certain bonus “bundles” in addition to the music itself.

In the case of SOPA and PIPA, we’re lucky that it impacts a number of companies with as deep pockets as the media industry. The next time we might not be as lucky. The price of our freedom is constant vigilance.