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 “opensourcesuit.com“.

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.

Eric S. Raymond Speaks Heresy

I came across this link today about a talk esr gave to a users group in which he proposed that the open source community ditch licenses like the GPL.

While I understand his reasoning, there are a couple of flaws with it.

When I used to study economics, the models seemed pretty straightforward, but they were based on “perfect” market knowledge, easy entry and exit, and the idea that people act rationally. As I’ve talked about before, people quite often act irrationally. The software market does, in most cases, provide easy entry and exit (with some notable exceptions such as operating systems), but market knowledge is often hard to come by.

With a commodity like corn, it doesn’t really matter if the corn comes from Iowa or Nebraska – corn is corn. But what about cars? Is a Lexus the same as a Mercedes? How about a Hyundai?

The same issue exists in software. Is Tivoli better than OpenView? How can one objectively compare them? Often the comparison comes down to price – with the higher priced software considered “better”. One reason that Micromuse was so successful was that their software was priced higher than anything comparable on the market (at the time) and people just thought it must be better. It’s a problem we run into with OpenNMS – many people in decision making positions don’t think that “free” can be good.

Where I think esr misses the point is that the GPL guarantees a certain level of market knowledge. Without it, someone could take a project like OpenNMS, slap a prettier GUI on it and turn around and sell it as a commercial product. The potential buyer wouldn’t have to be told that there was an open source alternative, and thus the market wouldn’t “punish” the closed source version.

The GPL not only prevents that but provides for severe penalties if the license is violated. Any revenues from such commercial software sold in violation of the license could be forfeit.

To me the GPL is like locks on cars. They don’t keep a determined thief out, but they help keep honest people honest. It is a commitment to keeping the work of the community truly open. Until the software market can be better educated on the value of open source software, it can’t operate efficiently to punish the closed alternatives, so the GPL and similar licenses are the best things we have to insure that the value created by open source communities is protected.

Citibank

Yesterday I had to use a Citibank ATM.

As many people have pointed out, that fee was about twice as much as a share of Citibank stock costs today.

Crazy. In case you were wondering, it looks like a share of BofA stock is still worth more than an ATM fee.