The unstable version (what will be come stable 1.8) does have a RESTful API for adding nodes. Additionally, 1.6.x and higher have an API for specifying your nodes manually, which can be called from external tools. This feature has been enhanced in what will be 1.8 to still scan interfaces on the nodes you specified, and such.
It may not have default configs for everything, but it should be able to monitor just about anything available through SNMP through configuration, or the SNMP poller, or the BGP monitor.
FYI, I work for OpenNMS, so I can't answer for all systems, but I can tell you how we stack up against your requirements:
Many solutions out there seems to have been developed in what can only be described as an "organic" process. I.E. a few scripts were used from start, were hooked up with some other scripts, were slammed into a web-interface, got some more features, then something central were ripped out and replaced to allow yet more features and so on and so forth.
OpenNMS was started by guys who did OpenView, NetCool, and other consulting for years and were tired of crappy tools that were hard to integrate with, so it was designed with scalability and "enterprise-ness" from the start. We've got folks monitoring hundreds of thousands of data points every 5 minutes from a single box. At this point the biggest bottleneck is not the code, but the I/O capabilities of your monitoring host, and how much data it can save to disk in a given amount of time.
Does anyone know a solution that can both receive from syslog and decode traps with a given MIB, and then do some simple logic, like squashing repeats, displaying on a web-page with archival-options, and dispatch to mail/sms based on configurable rules?
OpenNMS can do this, with a combination of our syslog daemon (which turns syslog messages into events), the event translator (which can parse those events and let you look for certain patterns to make more specific/different events), and alarms, which collapse multiple events of the same type into a single thing which you would then use to send notifications (which can span various groups, duty schedules, and notification types).
OpenNMS has a number of ways to integrate external systems:
* traps - OpenNMS can receive SNMP traps and turn them into events internally
* event socket - OpenNMS has an event socket that you can push XML to that become events internally
* syslog (as mentioned earlier)
* "passive status" which lets you essentially "push" polled data instead of querying it from a remote device
I'm a coder, I don't do any of our field-implementation consulting, so there are probably more ways to integrate that I've forgotten, but basically at this point, there's nothing you'd want to integrate that couldn't be integrated with just a little glue scripting.
The Perfect Monitoring System
There is no perfect monitoring system. Everyone (including me... <g>) starts out thinking "eh, network management can't be that complicated" but it turns out everyone has wildly different networks, different needs, and in the end, will get the most out of different solutions. Any network management tool that says it can solve everyone's problems is lying. There are absolutely situations where some tool would work better for your specific needs than OpenNMS, but we've worked hard to provide a platform that eases integration, to cover as many of those needs as possible. So far, all of the stuff you've mentioned is doable in OpenNMS. Not all of it would happen out of the box, but all of the things you're wanting are possible due to our flexible integration points.
Honestly, I'm not very familiar with SMARTS, but we don't do a ton of root cause analysis out of the box.
We do have an integration with Drools to be able to do correlation and root cause analysis, but we don't have much in the way of default configuration for it at the moment.
Yeah, the web UI code is the cruftiest part of OpenNMS, and it's next on our list to tackle/modernize. It's last in the list since the most important part is the backend, and notifications. Day-to-day, the web UI is more important to managers that want to see pretty graphs, and the notification system is for the folks doing real work responding to issues.
We've already started taking steps towards that, implementing a RESTful interface for the backend parts of the system. Now we need to make a nice UI that takes advantage of it...
That would definitely be a bug. I'll look into it...
And this is why we (OpenNMS) don't play the per-node. It's not any harder to run OpenNMS when managing 1000 nodes than when managing 100, you only need to scale hardware appropriately. Per-node pricing is an artificial limitation.
We also don't play the "you get a special price behind closed doors" game, our support prices are public, fair, and the same for everyone -- and that's only if you need commerical support -- our prices are $0 if you don't need or want support.
If you do the math, it's $0 for the software, plus $14,995/year for support for any number of nodes, and the software is 100% open-source and fully capable of replacing or exceeding OpenView.
This Just In: Many FOSS Businesses Started by People Who Assume You Can Apply a Support Model to Any Business
Just because people hopped on the bandwagon and forgot the "plan" part of business plan doesn't mean it's a broken model, only that it's a model that can't be applied to all things.
I work for The OpenNMS Group, a commercial consulting company based around the OpenNMS network management platform. We do the "traditional" open-source business model, and it works quite well. I guarantee it won't work for everyone, but in our specific case, network management is a very large discipline that tends to need custom configuration (and sometimes even code) for most environments. Everyone's network is different, and there is no one-size-fits-all solution.
That makes it ideal for the Free Software model; you'll end up spending $50k easy on solutions from HP and their ilk, and then twice that again to get consultants to actually make it do what you want. Making the software free still leaves plenty of room to add value, help scale, and teach NOC operators how to get the most out of it without screwing hobbyists and small companies willing to put the man-hours into doing it themselves when they can't afford the budget on consulting services.
Just because someone's trying to start a company selling support for the Gimp or something doesn't mean it's a good idea, but just because the service model doesn't work for some open-source software doesn't mean it's a bad one. You still have to have a business plan, and you still have to provide value to your customers. Just because the software itself is freely available and/or Free doesn't change that. That didn't stop a bunch of companies from popping up, riding the "open source" wave...
In the end, the companies that came out with a poor strategy will fail, and others will remain, and open source will be just another boring old business strategy like all the others.
I never found Paul Reiser funny enough to remember any of his jokes.
If you can count your money, you don't have a billion dollars. -- J. Paul Getty