Sys-con Media Rates OpenNMS Number One

I’ve spent the first half of this week teaching an OpenNMS course. It’s a lot of fun and we have a great class (the next one is in May if you are interested).

While I was talking to the students, one pointed out that he was able to get permission to attend the class because he was going to learn about “the number one systems management tool” available. While I didn’t disagree with him (grin) I did ask how he came by that information, and he pointed me to a Sys-con Media article published last month that compared 11 systems management offerings, both open and closed source.

I had missed this article, but it ends with:

OpenNMS 1.6.10 scores better than the competition, and is thus a better server monitoring software. Its basic features include a faster configuration process, web interface, compatibility and advanced features, such as “better automatic corrective actions”. OpenNMS is also free of cost.

OpenNMS rated a 7 out of 9. Of the other 10 products reviewed, there was one 3, three 4’s, four 5’s and two 6’s.

I, of course, think OpenNMS should have scored a 9 out of 9. The two areas that we missed were “Mobile Access” and “Integrated Maps”. Since the review was against 1.6.10 (versus 1.8.10 which is the latest stable version available) it didn’t have access to the iPhone app, and we have both greatly improved the built-in OpenNMS mapping feature as well as added an integration with Google Maps, Mapquest and Open Street Map for the remote pollers.

It was still nice to come out on top, however, and I hope this gets even more people interested in OpenNMS.

Using OpenNMS Remote Monitor for Remote Polling

Kevin Sonney has posted a detailed blog entry on how he is using the OpenNMS remote monitor as a remote poller.

Now one might ask: what is the difference between remote monitoring and remote polling?

Well, when the feature was written, it was created for The Permanente Management Group in northern California. They had centralized a number of services at a data center in Oakland, and doctors and other staff need to access those services from any one of 350 or so offices and clinics around the state. They needed a way to monitor them from the point of view of the remote site: hence remote monitoring. Papa Johns uses this as well: monitor a small number of centralized services from a large number of remote sites (2743 at last count).

However, what a lot of people think of when they hear “remote monitoring” is actually remote polling: how can I monitor localized services at a remote location? Kevin’s post details that.

In OpenNMS 2.0 the plan is to have multi-level distributed monitoring and data collection, but until that is complete Kevin’s instructions demonstrate how to do it with the current code. Many thanks to him for taking the time to write it up.

2010 OSCON – Day Two

For the second day of the conference, I had two tutorials lined up. Both, I’m happy to say, were really good.

The first one was on Puppet. While I’ve known about Puppet for some time, I had no experience with it, so I thought I’d be cool to check out. The tutorial was organized well and while I believe I’ve only scratched the surface of using the tool, the ability to easily add users via the command line on OS X is worth it alone (I kid, but I attempted to add a user to a Mac remotely this week and I ended up just changing my password and having a guy there log in and do it through the GUI). Since I just brought two new servers online, I’m thinking about deploying Puppet to keep them in sync. Of course, the idea of an integration between Puppet and OpenNMS obviously suggests itself, so I’ll be looking for ideas when I play with it.

The second tutorial was on Request Tracker (RT). The course was taught by Jesse Vincent, who started the project. We’ve used RT for years and we’re getting ready to do a new deployment, so I was hoping to pick up some new tricks.

One that I’m excited about is that it looks like we’ll be able to put together a single sign-on solution between OpenNMS and RT. We already have a tight integration, but we have a client who is interested in making it even tighter, and that was a requirement.

What I enjoyed most about the talk was learning more about Best Practical and talking with Jesse. Best Practical is a true open source company like OpenNMS, and it was fun to swap stories and poke fun at the VC-backed fauxpen source crowd.

It was a full day, and I was happy to unwind with an old friend of mine who took me out to Miyamoto Sushi. The place seats 9, the food was extremely fresh and the portions huge. Being old, I called it an early night. I went back to the hotel to catch up on some work and to get ready for the first day of the main conference.

On Growing

Sorry about the light blogging lately, but that is about to change. Tomorrow I’m off to Germany for the OpenNMS Users Conference (there are still a few spots available, and last minute registrations are welcome). This is followed by a trip to the UK, where I am looking forward to a couple of reunions, one at the Oak (one of my favorite places in the world) and one with Mark Taylor over at Sirius.

After that it’s off to Norway to visit longtime OpenNMS supporter Alex Hoogerhuis, then to Nice, France, for the TMForum conference where we’ll get our “cloud” on.

It will be a busy three weeks.

Luckily, my absence won’t really affect OpenNMS Group operations since we have been experiencing rapid growth lately. I’ve hired three people in as many months, and now the company is more than capable to run without me (well, at least for a little while until our supply of hot air starts to dwindle).

The first new hire was Brad Miesner as our VP of Sales (who I introduced a little while ago). Despite the title, we hired him specifically as an account manager since we wanted one person who was dedicated to nothing but insuring that our clients were happy. While that happiness is the responsibility of everyone in the company, having someone who is tasked with actively contacting our clients and noting any concerns seemed to be a good idea.

The next person we added to our team was Seth Leger as a full time developer. Seth was involved with OpenNMS back with Oculan, and we were very excited that our paths crossed in such a way that we were able to hire him. He did some contract work for us last year, and since he really fit into the team and had a lot of experience with the code, it was a no-brainer to bring him on full time. We expect great things from him.

Speaking of great things, today I am happy to announce that Barry Campbell has joined us as the new Director of Communications. While often associated with a marketing position, we actually mean “communications” in its purest sense. Like many open source projects, our documentation could be better, and Barry’s first task is to clean it up.

One could consider it marketing, of course. OpenNMS is an extremely powerful tool, and a common comment we get is “I didn’t know OpenNMS could do that!” If more people were aware of everything the platform was capable of doing, I believe we’d get more users and thus more customers.

Barry comes to us with quite a pedigree, and he often describes himself as a “suit to geek” translator, with a strong background in both project management, process analysis and ITIL. Most recently he was the Director of Communications at IPsoft, a network management outsourcing company based in New York. It’s good to have him back in North Carolina.

Barry will be blogging on a new site called ““.

It’s really cool to be growing, especially this fast, but that has moved my role into more administration than actually working with the product, and I kinda miss it. It’s also weird to have to post everyone’s extension taped to my desktop since I can’t remember them all.

At least we don’t need name badges.

The Open Core Functionality Ceiling

Jack Hughes has a great post on The Tech Teapot today. He has been examining the effects of an “open core” licensing model on open source communities, and he hypothesized a “functionality ceiling” in such projects as the feature needs of the pay or commercial version outweigh those of the free or community edition.

Using Ohloh he was able to examine graphs of the code for two well-known open core projects. Both of them show a large plateau, seeming to demonstrate his point.

So I decided to look at the OpenNMS graph. It’s considerably different.

This is pretty cool. You can see a bump when I took over the project in 2002, but due to my limited Java skills it doesn’t grow much until 2004 when Matt Brozowski joined the project. After that the growth is pretty phenomenal. We do have a slight plateau as we are preparing for our next stable release, but nothing like the 18+ month long ones for the other projects, and the size of our code base is much, much larger.

Great idea, Jack.

Satisfaction Survey

I get a lot of surveys. The last one was from Apple after registering my iPhone. I always hate this question:

I almost never give the highest score on any “review” type question unless they really exceeded my expectations. But look at my choices. I can either be “very” satisfied or just “somewhat” satisfied. What happened to plain old “satisfied”? Apple isn’t the only company to do this, so I’m not just picking on them, but they are the latest.

Webster gives the following options for the word “satisfy”:

1 a : to carry out the terms of (as a contract) : discharge
   b : to meet a financial obligation to
2 : to make reparation to (an injured party) : indemnify
3 a : to make happy : please
   b : to gratify to the full : appease
4 a : convince
   b : to put an end to (doubt or uncertainty) : dispel
5 a : to conform to (as specifications) : be adequate to (an end in view)
   b : to make true by fulfilling a condition

I’m assuming that they mean option 3 “to make happy”, since the others are more binary (you either carry out the terms of a contract or you don’t) but I hate the way they force you to choose between “very happy” and “somewhat happy”. I think the goal is to force you to say “very happy” since the term “somewhat” is slightly negative. Sorry guys.

I once worked for a very poorly managed company, but I learned an interesting piece of advice from the CEO. We were doing employee reviews and he had three levels one could get: met expectations, exceeded expectations or failed expectations. I asked for five levels (one above and below “met”) and he refused. He has a point. You either did your job, did your job extremely well, or you didn’t do you job.

Adding more levels is sort of a cop out. Let’s assume there is a level between “met” and “exceeded”. The temptation would be to give most employees who did their job this level as a reward: Thank you for putting in the hours and doing your job, but you didn’t quite knock my socks off, but at least you aren’t at “met”.

The real solution would be to emphasize that “met” is a good thing – that an employee is expected to meet their expectations, and that if they get “exceeded” it is a true reflection on their dedication and it actually means something.

After all, what is wrong with being satisfied? I don’t expect every purchase and every service I experience to blow me away. Sometimes its just nice to get exactly what one expects.

Why We Exist

As I was going through the support queue today, I saw this response to Jeff from one of our clients concerning an especially tricky data collection issue he was having:

WOW, what a very detailed response.. Thanks! Changes made, working, and you can close this incident…

Thanks again for all you guys do!!

What a great way to start the day.