Navigation

technorati



Syndicate content

Tales of the Racoon Fink

Syndicate content
...now with web 1.9!
Updated: 4 hours 4 min ago

OpenNMS 1.6.0 Is Out

Wed, 2008-10-29 05:00

...and it features a ton of changes since the last stable release. Here's what I put in the release notes as an introduction to the 1.6.0 release:

Release 1.6.0 is the first stable release in the OpenNMS 1.6 series.

It's been 3 and a half years since the last OpenNMS stable version, 1.2, was branched and released as production-ready. In that time, OpenNMS as a project has changed tremendously, the community has grown exponentially, and massive numbers of new features have been incorporated into the "unstable" 1.3.x series.

In that time, the unstable codebase solidified to the point that The OpenNMS Group supported it as if it were stable; it was at least as stable as 1.2.x was, but many users held off on upgrading because of the unstable moniker.

After a lot of work, and a renewed focus on getting the next stable release out the door, we are now prepared to declare OpenNMS 1.6 release-candidate-ready.

Why 1.6 instead of 1.4? 3 years is a lot of time, and a lot has happened in that time. We're not ready to call it 2.0, we want to redo the web UI first, but 1.4 didn't really do the massive changes since 1.2 justice. So: 1.6 it is.

Since it is a lot easier to do a release than it was in the 1.2 series (now that the native code is moved out into separate packages, and OpenNMS itself is distributed as pure-java sources), the goal is to continue to be on a much faster 6-month or year cycle for new releases.

Please, let us know if you have any problems at all in our Bugzilla bug tracker.

To give an idea of what's changed, I put together a list of major changes since 1.2 with a couple of the other OGP folks.

Architecture and New Subsystems
  • Alarms: The largest architectural change from a user point of view is the addition of the concept of Alarms. Events mean so many different things in OpenNMS, it made sense to have a higher-level "event" which represents significant happenings in the system. Alarms fill that role, and as we move towards 2.0, events will be de-emphasized in favor of alarms for reacting to significant events. The new alarms system will allow important events to be "reduced" into alarms. If an event comes in with the same "reduction key" as a previous event, the alarm will increment the "count" of events, yet it will still only take up a single line in the alarm browser. Clicking on the count will bring up the event browser with just the events that have been reduced.
  • Automations: It is now possible to do a variety of automated actions through "automations". For example, say you have an alarm with the severity of Minor that has not been acknowledged in the last 20 minutes you might want to escalate the severity. Vacuumd has been enhanced with a configuration that now allows configuration of processes we're calling Automations that are defined by Triggers and Actions.
  • Windows: OpenNMS now runs on Windows.
  • PostgreSQL: OpenNMS supports running on top of PostgreSQL 7.4 through 8.3.
  • Syslog Improvements: The syslog daemon included with OpenNMS has been significantly enhanced, including regular-expression matching and back-reference support.
  • Model Importer: OpenNMS can now import node, interface, and service information from an external provisioning source. This facility can augment or replace the discovery functionality provided by Capsd.
  • Categories: Nodes can be assigned to one or more categories (eg Production/Test, Datacenter A, Datacenter B); these categories can be used in filter rules. This permits to selectively forward Alarms into certain destination paths based on the node category: "Send Alarms for Production in Datacenter A to Team A, Send Alarms for Test Systems in all Datacenters into the Maintenance Queue".
Polling and Data Collection
  • Generic-indexed data collection modeling makes it easy to collect, graph, and threshold on multi-instanced performance data, such as values residing in SNMP MIB tables.
  • SNMP4J: In addition to the existing SNMPv1 and SNMPv2 support provided by our in-house JoeSNMP Java library, OpenNMS now supports SNMP v1 through v3 using SNMP4J. The SNMP4J strategy is enabled by default, but you can go back to the JoeSNMP one if you have a specific need for bug-for-bug compatibility with OpenNMS 1.2's SNMP behavior.
  • JMX: Support was added for polling and data collection.
  • HTTP Collector: Support was added for data collection via HTTP.
  • NSClient: Support has been added for NSClient (and NSClient++) polling and data collection.
  • Data Export: It is now possible to export RRD data through the web UI.
  • Windows Service Monitoring: Windows services can be monitored through the NSclient support and via a special-purpose poller monitor that uses SNMP.
  • Mail Transport Monitor: It is possible to monitor the complete round-trip availability of a mail system, from sending to checking a mailbox.
  • Page Sequence Monitor: Support has been added for monitoring a complete transaction against a web site, including cookie storage, form submission, and checking the results of the output of a URL.
  • Distributed Monitoring: There is now a distributed monitor that allows you to do service monitoring from multiple locations reported to a single OpenNMS instance.
Thresholding
  • Thresholding for collected performance data is now performed in-line with collection by default. This change makes threshold evaluation virtually instantaneous while drastically lowering the CPU and I/O overhead associated with thresholding. Thresholding for latency data (data from the poller monitors) is still done in the old asynchronous fashion.
  • Absolute Change Thresholds: A new type of threshold useful for monitoring the values of such variables as radio transmitter power (in dB) where a relative change of a given magnitude may not be noteworthy, but an absolute change above some threshold is considered significant.
  • Expression-Based Thresholds: A new type of threshold allowing the user to specify an expression, in standard mathematical terms, involving one or more data source names, operators, and constants.
  • Custom Event UEIs in Thresholds: The types of events generated when thresholds are exceeded or re-armed can now be specified on a per-threshold-definition basis, allowing for much more flexibility in using thresholds as the basis of alarms and notifications.
Notifications
  • Roles: OpenNMS now supports on-call roles. If you have, say, an On-Call role where the users change over time, this feature allows you to schedule them in advance and OpenNMS will manage that schedule for you.
  • Group Duty Schedules: Works like normal duty schedules, except if a Group is listed as a target in a destination path, the duty schedule will apply to the whole group (individual users and roles also in the target are not affected).
  • JavaMail: JavaMail is now the default API used for sending e-mail notifications. This change eliminates the burden of installing, configuring, and troubleshooting a local mail transport agent such as Sendmail or Postfix on the OpenNMS server.
  • Path Outages: A basic path outage capability has been added. This feature addresses the need to suppress notifications for nodes that appear to be down to the OpenNMS system due to a failure in the network path between the nodes and OpenNMS.
Integrations Web UI
  • Jetty: OpenNMS has a built-in web server (including AJP support), and no longer requires Tomcat for the web UI (although it can still optionally be used)
  • JFreeChart Support: OpenNMS now supports a JFreeChart integration which lets you add charts to the web UI.
  • Zooming: It is now possible to interactively zoom in on graphs.
  • StrafePing: OpenNMS includes an implementation of SmokePing.
  • RSS Feeds: Support has been added for RSS feeds for notifications, outages, alarms, and events.
  • New Look: The OpenNMS web UI got a face lift.

Comments (0)

Comments on this Entry:

Categories: Member Blogs

OpenNMS 1.6.0 On the Horizon

Thu, 2008-10-23 16:28

So I just finished getting OpenNMS 1.5.98 out the door. This is the first release that we've left a few (small) known issues in because we're in hard freeze.

I am so ready for this release to be out; there have been a ton of improvements since 1.2.x and the sooner we can get folks to the current codebase, the better.

Of course, while I was in the process of writing this blog post, Dave found a small but not-insignificant bug that is worth doing another RC for, so here comes 1.5.99! ;)

Comments (0)

Comments on this Entry:

Categories: Member Blogs

The Age of Scrutiny

Thu, 2008-10-16 21:59

I swear, this is the only political post I will do before the elections. No, really!

As the elections get closer and closer, the more I realize Neal Stephenson is not an author, but a prophet. He (co-)wrote a book called Interface which was a book about a politician who has a stroke, and has a chip implanted in his brain by the shadow government. It restores his motor control, but has the side-effect of having the ability to trigger memories with the direction of an external wireless device (designed to be a kind of "pacemaker" for the chip).

I know it sounds pretty crazy, but in the context of the book, it actually flows pretty believably.

Anyways, he goes on to run for President, and his campaign works out a way to use this memory-trigger to their advantage. They pick a small sample of people that represent a cross-section of the country, and then hook them up to a little Dick Tracy TV with an EKG in it that transmits their immediate emotional response to whatever they show them back to the campaign (sound familiar?). The campaign then triggers various memories so he can change tactics instantly if he starts losing support during a television appearance.

It's insane, and basically completely believable with current technology. Polling has become more and more prominent, to the point where polls about people's opinions about how they feel about how they think other people will react to polls is considered normal.

My favorite part of the book is when his campaign manager, Cy Ogle, is explaining why the issues don't matter in the current political realm.

"In the 1700s, politics was all about ideas. But Jefferson came up with all the good ideas. In the 1800s, it was all about character. But no one will ever have as much character as Lincoln and Lee. For much of the 1900s it was about charisma. But we no longer trust charisma because Hitler used it to kill Jews and JFK used it to get laid and send us to Vietnam." ...

"So what's it about now?" Aaron said.

"Scrutiny. We are in the Age of Scrutiny. A public figure must withstand the scrutiny of the media," Ogle said. "The President is the ultimate public figure and must stand up under the ultimate scrutiny; he is like a man stretched out on a rack in the public square in some medieval shithole of a town, undergoing the rigors of the Inquisition. Like the medieval trial by ordeal, the Age of Scrutiny sneers at rational inquiry and debate, and presumes that mere oaths and protestations are deceptions and lies. The only way to discover the real truth is by the rite of the ordeal, which exposes the subject to such inhuman strain that any defect in his character will cause him to crack wide open, like a flawed diamond. It is a mystical procedure that skirts rationality, which is seen as the work of the Devil, instead drawing down a higher, ineffable power. Like the Roman haruspex who foretold the outcome of a battle, not by analyzing the strengths of the opposing forces, but by groping through the steaming guts of a slaughtered ram, we seek to establish a candidates fitness for office by pinning him under the lights of a television studio and constructing the use of eye contact, monitoring his gesticulations-- whether his hands are held open or closed, toward or away from the camera, spread open forthcomingly or clenched like grasping claws."

Spooky, isn't it?

Comments (0)

Comments on this Entry:

Categories: Member Blogs

Mono 2.0 in Fink Unstable

Fri, 2008-10-10 16:14

I've got Mono 2.0 updated and packaged up for Fink unstable. It includes Cocoa#, Gtk#, and MonoDevelop 1.0, all tested and working.

Congratulations to the Mono team on getting 2.0 released!

Comments (0)

Comments on this Entry:

Categories: Member Blogs

OpenNMS 1.5.94/1.5.95/1.5.96 Released

Wed, 2008-10-01 21:48

After a few issues with an annoying poller bug and some cross-site scripting issues that ended up triggering a series of quick releases over just a few days, things are settling down again in the wake of the OpenNMS 1.5.94-1.5.96 releases.

Let me start by saying, holy crap we fixed a lot of bugs, and we're on track to get 1.6 out the door in the next month or so. There's only a few bugs left, and we're pretty much 100% focused on finishing those off.

For the first time in a while, this is more than just a suggested update, since a number of cross-site security issues were fixed. If you're running anything in the OpenNMS 1.3.x or 1.5.x series, it is very strongly recommended that you upgrade to 1.5.96.

As always, feedback is encouraged, please let us know if you run into issues, awesomeness, or anything inbetween. ;)

Comments (0)

Comments on this Entry:

Categories: Member Blogs

OpenNMS 1.5.94 Coming

Mon, 2008-09-15 17:11

So I'm getting really excited about the next OpenNMS release on the road to 1.6. We've got over 100 more bugs closed since 1.5.93, and only 22 left before we can release a 1.6 release candidate. We're holding off on 1.5.94 because of a rather interesting bug that can cause strange outage results for nodes not using the "critical service" functionality. Matt's worked out a unit test for it, so hopefully we'll have it wrapped up shortly and get the release out this week.

That said, if you're interested in helping us wrap up the bug-search for 1.6, feel free to try out the "1.6 testing" snapshot RPMs by following the yum installation instructions for the "testing" release and giving it a shot, and open a bug if you find any issues.

One of the big blockers holding up a real release is consolidating the installation documentation in one place, be it the wiki, or the out-of-date install guide. If you have suggestions on things that could be clearer for installation, configuration, or anything else, please open a bug! At this point OpenNMS is pretty solid, it's arguably more important to get documentation cleared up where it's confusing.

Comments (0)

Comments on this Entry:

Categories: Member Blogs

Google Chrome on Mac OS X (In Wine)

Wed, 2008-09-03 23:58

Just a quick note to say that based on these instructions, I was able to get Google Chrome running on Mac OS X, using Fink.

You'll need to enable unstable ("fink configure", followed by "fink selfupdate-rsync"), and then do a "fink install wine cabextract". Then start at the "offline installer" part of the instructions.

Woot!

Comments (1)

Comments on this Entry:

(Tanner Lovelace on Sep 3, 2008 8:08 PM) Cool! But, we still need a native version! Here's the instructions for building on OS X.

Categories: Member Blogs

Microsoft, Why Do You Treat Me Like A Pirate?

Tue, 2008-08-19 16:45

Do you see that picture on the right? I bought Windows XP when it came out. An actual legitimate copy of Windows XP Home Edition. It promised a lot of things that it eventually pretty much delivered after a couple of service packs. It's moved from machine to machine as I've updated hardware. I've gotten rid of basically all of my old PC hardware and now it lives on my Macbook Pro. I've been reasonably happy with it. Except...

With such a long history, I've long-since passed the time when Microsoft accepted my key without question through internet activation. Do you know what happens when you pass that time? Painful crushing phone activation.

Observe:

First, you have to call a number, and enter 9 sets of 6 digits (they're kind enough to let you use the touch-tone phone to do it, instead of braving their voice recognition system). Then, on the 9th set, it always complains that it didn't understand the last set of digits, until you're forced to tell it to forward you to a human without finishing the automated input.

Then, since it didn't actually record all of those numbers you put in, you get to read them again to the call-center person.

Then, they read a string of numbers back to you, that you have to type in, and finally, in true Microsoft fashion, you hit "Next", followed by "Finish", because it wouldn't be Windows without a wizard with a few extra unnecessary clicks. ;)

Have you seen what you have to do to activate a pirated version of of Windows XP? I did a quick Google search out of curiosity. You use a pre-made serial number, and then run a command that will do the activation for you, and one more command to trick Windows Genuine Advantage(TM). Voila!

It's sad that I find it so tempting to pirate something I legally own just because it's so frustrating to activate the damn thing.

The best part is, the only reason I had to re-activate at all was because the logic board went bad in my MacBook Pro, and Windows no longer recognized it as the hardware it was installed on.

Even better, now that it's done, I have to re-activate every time I switch from booting in VMware to booting natively through Boot Camp, or vice-versa.

Alternatively, you know what I had to do to register my copy of Mac OS X when I installed it? Nothing. Imagine that.

Comments (0)

Comments on this Entry:

Categories: Member Blogs

"Finally" Now Available on CD

Tue, 2008-08-19 01:34

In addition to digital downloads through Amazon MP3, iTunes, and a host of other services, my first album, Finally, is now available on CD.

Order now!

Comments (0)

Comments on this Entry:

Categories: Member Blogs

OpenNMS Dev-Jam 2008 Developer Journal

Thu, 2008-08-07 19:57

So I've been meaning to do a Dev-Jam 2008 summary since we got back last weekend, and I can put it off no longer.

In summary: Dev-Jam 2008 was a huge success!

Sunday, July 27th, SVN revision 9618

We loaded up in the Dev-Jam Express and started the drive from North Carolina to the Georgia Tech campus. After plenty of rest stops, food breaks, passing water towers that look like giant spanked butts, and picking up of supplies, we arrived.

We got settled in, got room keys, met with the other folks who had arrived, and recuperated from a long drive.

Monday, July 28th, SVN revision 9622

Tarus started out by welcoming everyone and doing a "State of OpenNMS." Since last year we blew away our goal, "2007: The Year of 4 Releases". Development has increased dramatically, despite the fact that off and on, OpenNMS regulars have been busier than ever with non-OpenNMS projects. Of course, new regulars have joined in the fray. (Does that make us "more regular"?) Anyways, OpenNMS has gotten easier to install, more robust, and just plain better in every way since the last Dev-Jam. Not only that -- we had 17 people come this year. Awesome!

Next, Matt talked about how things have progressed through the different Dev-Jams, and how we learned from each of them.

At Dev-Jam 2006, Spring was introduced, and while it was an educational experience, people spent too much time without really being able to dig their hands into the code, much less have fun with the other jammers.

Conversely, at Dev-Jam 007 (licensed to... er, GPL?), we had a very free-form conference. People hung around and worked on whatever took their fancy. Plenty of coding happened, but a number of things never wrapped up (and are still sitting in the devjam-007 branch waiting to be completed).

This year Matt proposed a hybrid of the two. Things were still free-form, people picked a project they felt like working on, and invited others to help out, but we were asked to spend a little time each morning talking about what we've done and getting input from the other folks. In the end, sometimes it was almost not morning by the time we did it (grin), but I think it helped add a little structure to the '007 style, and we all did better for it.

As for development, people were mostly just getting started.

  • Matt had been preparing a RESTful framework so it would be ready (or at least, almost ready) for Dev-Jam.
  • I had been meaning to work on cleaning up the remote poller code to not be different across the command-line and GUI interfaces, and to unify the webstart and jar-based versions of the remote poller startup code, so I started in on that.
  • DJ and Mike started playing with turning snmp-graph.properties into XML (actually continuing some work DJ did along those lines some time ago).
Tuesday, July 29th, SVN revision 9633

Things started picking up on Tuesday, as people settled into what they were working on.

  • Matt worked on upgrading our Spring code to Spring 2.5.
  • Jonathan started the first of many commits finishing up his work on OTRS ticketing integration.
  • Craig and DJ both committed some bugfixes and other updates to the 1.6 and trunk branches.
  • Alejandro and Matt both worked on the RESTful interfaces some, in a new branch dubbed the Jersey branch.
  • Joed started in on a new map based on OpenLaszlo that is shaping up to be pretty sweet! It features RESTful integration as well.
  • Paul helped out fixing a bug or two, and also helped out on Debian packaging issues, which he's done a lot of great work on in the past months.
  • I got the code pretty much finished on the webstart work, although I continued to hit strange Maven issues with bad plugins and the like.
Wednesday, July 30th, SVN revision 9804

Lots of commits, but mostly Joed setting up some directories for the OpenLaszlo maps. SourceForge was kind enough to announce Subversion downtime only 5 hours before it was scheduled to happen. Intermittent timeouts and other issues kept most people from doing much before the outage deadline.

  • Joed worked on the OpenLaszlo maps.
  • Jonathan spent more time on the OTRS integration, approaching completion.
  • I continued to fight with Maven, finally getting things to work shortly after SourceForge shut off SVN. =)
  • Alejandro did more good work on the RESTful interface, adding REST support for nodes, IP interfaces, SNMP interfaces, and services.
Thursday, July 31st, SVN revision 9889

Lots of progress in a number of areas, and with Subversion back up, people could actually... commit things. ;)

  • Jonathan worked on wrapping up his OTRS integration.
  • I was able to commit my webstart code that I finished on Wednesday. Usage is documented in the wiki. I spent the rest of the day splitting out the trouble ticketing API into it's own module, as well as brainstorming with Matt on what the future "perfect codebase module layout" would be when we've had time to refactor everything. (Hah!)
  • Tarus worked on cleaning up bugs, in preparation for trying to get a 1.6 release candidate out the door.
  • Jeff played around with something in trunk relating to Windows? I dunno what that's all about. :)
Friday, August 1st, SVN revision 9978

A few new projects were opened, and a few completed. By Friday, commits were chugging along pretty nicely.

  • David (along with Walt from Hitachi, and a little help from Matt) spent the day working on a TL1 interface for OpenNMS.
  • Craig merged the existing work from the Jersey branch into trunk.
  • I spent some time cleaning house and merging useful work done in trunk back to the 1.6 branch.
  • Joed continued to fill out the OpenLaszlo map support.
  • Alejandro worked on the RESTful interface more, adding a few features and fixing bugs.
  • Craig M. also handed Alejandro a keychain as door prize for making the 10,000th commit!

And, officially, Friday ended Dev-Jam. We had a nice dinner and people started traveling. On Saturday, we made our way back to North Carolina.

Thanks to everyone who made Dev-Jam possible. I had a great time, and we got a ton of stuff done!

Edit: It's important to pay more attention to your calendar when reconstructing the dates that things happened. Turns out Dev-Jam started July 27th, not August. ;)

Comments (0)

Comments on this Entry:

Categories: Member Blogs