New and noteworthy

From OpenNMS

Contents

Download

New in OpenNMS 1.7.x

This represents what will eventually become OpenNMS 1.8.0 when it is declared feature-complete and stable.

Architectural Changes

DAO Updates 
Many more parts of the OpenNMS data access layer have been updated to be compatible with Hibernate and database abstraction.
OSGi Preparation 
Some daemon architectural changes have happened to support an eventual integration with OSGi (post-1.8).
Spring 2.5 
OpenNMS was updated to use Spring 2.5.
Test Framework Updates 
A number of handy annotation-based test framework changes have been made, using JUnit 4.

New Features

Acknowledgement Daemon 
A daemon for interacting with acknowledgements programmatically has been added. This will open up APIs for acknowledging alarms through cell phone, IM, e-mail, and so on.
Adobe AIR Client 
An Adobe AIR based client was added.
Asterisk Notification Support 
It is now possible to send notifications through Asterisk.
Capsd Replacement 
A complete replacement for Capsd, called "Provisiond" is introduced in this release. It allows you to define specific behaviors for detecting services and attributes of devices in manual, automated, and semi-automated ways, with simple APIs for writing your own custom scanning behavior and detectors. This includes a highly-scalable, highly-parallelizable threading architecture which will be used for other parts of OpenNMS in future releases.
DNS Importing 
Provisiond is able to provision nodes based on a DNS zone transfer.
Automatic Map Creation 
Provisiond can automatically create maps and link nodes together when they are provisioned.
Mobile Sequence and SMS Ping Monitors 
A new pair of monitors have been added that have the ability to perform monitoring of cellular networks with phones attached to the OpenNMS server.
Map Updates 
The topological map support has been updated to work properly in all major browsers with SVG support.
Mobile Browser Cleanups 
Some updates have been made to the web UI to make them more mobile-friendly.
RADIUS Authentication 
A RADIUS authentication provider has been added.
RANCID Integration 
An integration with RANCID has been added. If configured, extra data about node configuration, etc. will be available in the node UI and maps.
RESTful Interface 
A number of interfaces to OpenNMS data have been made available through a RESTful interface, using the Jersey API.
This includes simple web API access to alarms, events, nodes, notifications, and outages, and it is expected that this will be expanded in future releases.
Snmp Poller
A service that let you snmp poll the interface operational and administration status (up/down) for selected interfaces
Web UI Updates 
A number of pages, most notably the node details page, have been updated to provide more detailed information thanks to the new REST service. These controls also support paging, sorting, etc.
Web UI ACLs 
Support for basic access control has been added, which allows you to limit which nodes, interfaces, and services a user can view based on the surveillance categories their group is assigned to.
WMI Support 
Support has been added for polling and datacollection from Windows Management Instrumentation.

New in OpenNMS 1.6.8

New Features and Enhancements

  • Logging was improved for the LDAP monitor. (bug #3381)
  • Data collection and graphing has been added or updated for AudioCodes DS1, Cisco, Riverbed Steelhead, SofaWare devices. (bug #3385, bug #3441, bug #3455, bug #3458, bug #3464, and bug #3465)
  • The documentation for the unix time monitor now includes persisting clock skew. (bug #3388)
  • It is now possible to configure a list of fields which are allowed to contain raw HTML in node assets. (bug #3392)
  • A null pointer exception when creating scheduled outages has been fixed in UI. (bug #3456)
  • A new installation wizard has been added, which allows you to configure the administrator password, database configuration, etc. upon startup when not configured. (bug #3321)

Bug Fixes

  • Thresholds for counter datasources didn't handle wrapping correctly. (bug #3194)
  • The Capsd rescan queue now checks for an existing host entry before scheduling a new rescan. (bug #3375)
  • The FTP monitor incorrectly expected a very specific error message when checking for "not logged in" errors. (bug #3376)
  • Dhcpd now properly honors the extended mode configuration in dhcpd-configuration.xml. (bug #3448)
  • The OpenNMS startup script no longer exits because of a missing PostgreSQL, since it is possible to run OpenNMS and the database on separate hosts. (bug #3461)

Configuration/Behavior Changes

  • The SNMP collector would generate forceRescan events under certain conditions, which can cause performance issues in Capsd. The default is now to not send these events. To re-enable this behavior, set "org.opennms.netmgt.collectd.SnmpCollector.forceRescan = true" in your opennms.properties file. (bug #3389 and bug #3459)

New in OpenNMS 1.6.7

New Features and Enhancements

  • The Capsd SNMP Plugin can now scan an SNMP table value to determine the existence of a service. (bug #1596)
  • Support for Cisco moduleUp/moduleDown events was added. (bug #3363)

New in OpenNMS 1.6.6

New Features and Enhancements

  • The new in-memory thresholder now supports non-IP interfaces. (bug #2711)
  • Linkd was updated with support for a number of HP ProCurve switches. (bug #3076)
  • The web UI now (configurably) supports asynchronously loading some parts of the front page. (bug #3165)
  • Data collection and graphing has been added or updated for Trango, Cisco AP1200, Cisco UBR/DOCSIS, Cisco IP SLA, Cisco CSS, Cisco POE, Juniper J-Series, Dell DRAC, Kyocera MITA Printer, Motorola CPEi 150 WiMAX, Blackberry, Equallogic iSCSI, NetApp, AS/400, and ININ Interaction Center devices (bug #3167, bug #3210, bug #3213, bug #3252, bug #3253, bug #3254, bug #3262, bug #3269, bug #3272, bug #3280, bug #3281, bug #3285, bug #3293, bug #3308)
  • When you add a new interface, the landing page provides a breadcrumb back to the add interface page. (bug #3186)
  • OpenNMS now supports tuning (or disabling) the JVM's DNS cache. (bug #3215)
  • The trivial time monitor can now persist clock skew data for data collection. (bug #3234)
  • A new monitor has been added for monitoring Dell OpenManage Chassis. (bug #3243)
  • It is now possible to configure the SSL ciphers accepted by the internal Jetty web server in opennms.properties. As of 1.6.6, by default, a number of older, insecure ciphers are excluded. (bug #3307)
  • The installer now accepts PostgreSQL 8.4.1+ for use with OpenNMS. Please note that PostgreSQL 8.4.0 has a bug that causes invalid results in some cases, and will not be supported. (bug #3342)

Bug Fixes

  • An occasional error caused by malformed DNS requests was fixed. (bug #1295)
  • OpenNMS now handles a number of configuration errors more gracefully. (bug #1526, bug #1776)
  • In some cases, the ifIndex OpenNMS stores would not get updated on a Capsd rescan. (bug #1578)
  • A layout issue in the asset modification page has been fixed. (bug #1771)
  • A potential threading issue in notifications was fixed. (bug #1803)
  • The page counts in the event display were sometimes incorrect. (bug #1843)
  • OpenNMS now validates that ds-names are not too long for RRDtool (and JRobin) to handle. (bug #1846)
  • Adding users with non-ASCII names caused an exception. (bug #2977)
  • Syslogd had a race condition which sometimes garbled incoming logs. (bug #3079)
  • RPM upgrades no longer clobber a number of configuration files. (bug #3122, bug #3166)
  • Linkd had a threading issue which could cause occasional exceptions. (bug #3123)
  • A bug in database queries related to the SNMP interface table has been fixed. (bug #3179)
  • A bug in thresholding that caused multiple thresholds using the same datasource to not trigger has been fixed. (bug #3193)
  • The BgpSessionPlugin could throw an exception during a Capsd rescan in some cases. (bug #3198)
  • The availability reports listed time in 12-hour format, but failed to say AM or PM. (bug #3208)
  • The snmpphysaddr in the database was too small for some large MAC addreses. (bug #3216)
  • The JMX monitor did not honor the "retries" config attribute. (bug #3232)
  • SNMP data collection and graphing configs have been updated to handle Net-SNMP graphs for varying kernel implementations. (bug #3248)
  • Rates are now treated as counters for the purposes of thresholding. (bug #3263)
  • URL parameters were ignored for HTTP GET and POST methods in the HttpCollector. (bug #3266)
  • A few NullPointerExceptions were fixed in various places. (bug #3271, bug #3345)
  • A date-parsing bug in Tl1d was fixed. (bug #3318)
  • It is now valid to have no http-collection tags in the http-datacollection-config.xml file. (bug #3343)
  • Some versions of RPM automatically generated perl dependencies, even though it should be disabled since they come from contrib/ scripts. (bug #3344)
  • The JDBC code was vetted for possible connection and handle leaks that could occur when a database exception is thrown. (bug #3346)
  • An error in the build system that would cause intermittent failures was resolved. (bug #3347)

New in OpenNMS 1.6.5

New Features and Enhancements

  • Capsd will now use ifHighSpeed instead of ifSpeed when available (bug #1822)
  • The SNMP configuration shipped with OpenNMS now uses SNMP v2c, fewer retries, and a longer timeout by default, for more efficient scanning. (bug #3050)
  • Data collection and graphing has been added or updated for Alcatel-Lucent, Allot, Alteon, Aruba, Ascend, Avocent, Bluecat, BlueCoat, Cisco Airespace, Lucent, NetApp, Overture, Packeteer, and Powerware devices (bug #3096, bug #3099, bug #3109, and bug #3138)
  • Support has been added for using raw instance identifiers in thresholds when no data source label can be inferred (bug #3108)
  • Support was added for a number of new Cisco devices in Linkd (bug #3110)
  • Support has been added for extracting the bgpPeerRemoteAddr instance identifier from the varbinds of the bgpEstablished and bgpBackwardTransition traps defined in the BGP4-MIB. This allows us to make meaningful alarm annotations for these events so that the resulting alarms can self-clear. (bug #3156)
  • Some tools have been added to OpenNMS "contrib" for creating SNMP walk dumps suitable for debugging with OpenNMS's mock SNMP server. (bug #3173)
  • The default "Database" category now includes MSSQL and Oracle in addition to MySQL and PostgreSQL. (bug #3175)

Bug Fixes

  • The Capsd HTTP plugin now properly honors response-text parameters. (bug #2774)
  • The HTTP collector now properly honors the "retry" parameter. (bug #3133)
  • The Hyperic HQ service monitor definition now detects Hyperic HQ 4.x properly. (bug #3106)
  • Multiple nodes with the same name/label can now be distinguished from each other in category views. (bug #3112)
  • Vacuumd cleans out old (invalid) nodes from topology map tables. (bug #3121)
  • The JMX collector now works when store-by-group persisting is enabled. (bug #3160)
  • Configuration file filtering has been fixed so that tags aren't properly expanded in opennms.properties. (bug #3174)
  • The remote poller build now ensures it is compiled with the correct version of Groovy. (bug #3176)

The full list of changes is available in bugzilla.

New in OpenNMS 1.6.4

A NullPointerException in the SNMP poller (bug #3094) was found in OpenNMS 1.6.3, relating to the enhancements in bug #3065. The only change in OpenNMS 1.6.4 is a fix for that exception.

New in OpenNMS 1.6.3

New Features and Enhancements

  • A thresholding evaluator has been added that uses the absolute value to compute deltas, and has the ability to rearm after a certain number of collections below the hysteresis point. (bug #2768)
  • Data collection and graphing has been added or updated for BGP MIBs from Cisco and IETF, other Cisco equipment, Jupiter M-Router, Liebert UPSes, MPLS, MSDP, Net-SNMP, and Netenforcer Allot (bug #2990, bug #2998, bug #3012, bug #3013, bug #3025, bug #3064, and bug #3068)
  • Enhanced string extraction support in resourceLabels has been added (bug #2997)
  • The KSC report list is now viewable by read-only users (bug #3005)
  • XML configuration file XSDs are now included in the distribution (bug #3006)
  • Event translator matches can be performed against the name rather than the value (bug #3049)
  • Event parameter names are can now be expanded using the %parm% syntax (bug #3061)
  • The SNMP monitor can now include operator, operand, and observed value in results string (bug #3065)
  • Syslogd now has an optional "discard-uei" option to discard matching UEIs (bug #3066)
  • The model importer now supports scanning the node for non-IP interfaces (bug #3075)
  • A new monitor has been added which supports checking that a BGP peering partner is functional (bug #3080)
  • JFreeChart 3D bar charts have been enabled (bug #3086)

Bug Fixes

  • Thresholding on JMX collection has been fixed (bug #2512)
  • Using multiple <package> statements in linkd-configuration.xml now works (bug #2818)
  • A bug in filter-based expressions was resolved (bug #2966)
  • A bug interacting with newer versions of NSClient++ has been fixed (bug #2983)
  • Altiga authentication success traps are now ignored (bug #3004)
  • The JFreeChart charts layout was fixed (bug #3040)
  • The mail transport monitor now works in read-only mode (bug #3071)

The full list of changes is available in bugzilla.

New in OpenNMS 1.6.2

New Features

  • Ticketing integration support was added for RT (Request Tracker) (bug #2278)
  • Jabber notifications now support configurations where the XMPP domain and server hostname don't match, e.g. Google Talk (bug #1387)
  • KSC reports now auto-refresh every 5 minutes (bug #2899)
  • New data collections and traps were added for various IETF, Cisco, Juniper, AIX, and SNMP Informant MIBs. (bug #2933, bug #2934, bug #2947, and bug #2954)

Bug Fixes

  • Jabber notifications would stop sending if the connection to the XMPP server failed; it now reconnects automatically. (bug #1860)
  • A couple of unhandled exceptions were fixed. (bug #1599 and bug #1748)
  • The PL/pgsql version of IPLIKE did not work with expressions that used multiple comma-separated values. (bug #2803)
  • HTTP data collection only stored values for one URL, even if multiple URLs were specified in the http-datacollection-config.xml. (bug #2940)
  • The mail transport monitor would not always honor the delete-all-mail attribute. (bug #2969)

The full list of changes is available in bugzilla.

New in OpenNMS 1.6.1

New Features

  • KSC reports are now sorted by title. (bug #2817)
  • You can now use ${ipaddr} and ${nodeid} in URLs for in the Page Sequence Monitor. (bug #2840)
  • Support for new Fortinet traps was added. (bug #2847)
  • A monitor for the trivial time service was added. (bug #2864)
  • Support for expression matching of parameter names in the Event Translator (bug #2880)

Bug Fixes

  • An error when attempting to delete URLs in the discovery admin page was fixed. (bug #2829)
  • The poller was no longer setting the reason on nodeLostService events. (bug #2846)
  • An exception in the path outages web UI when using PostgreSQL 8.3 was fixed. (bug #2866)
  • A few issues with ticket and alarm triggers were fixed. (bug #2868 and bug #2869)
  • A bug that would cause the OTRS ticketer plugin to ignore otrs.properties was fixed (bug #2870)
  • An invalid regular expression in the thresholding configuration could cause thresholding not to happen and throw an exception. (bug #2873)
  • The HTTP data collector now behaves properly when storeByGroup=true (bug #2875)
  • The SSH monitor would cause a thread lock if a socket allowed connection but never returned any data. (bug #2896)
  • The mail transport monitor would not retry during the read test. (bug #2897)

Configuration/Behavior Changes

A number of changes were done to configs to clean up usage and get rid of old unnecessary tags:

capsd-configuration.xml
capsd-configuration.xml no longer requires the user-defined attribute. (bug #2872)
eventconf.xml
the <logmsg> tag now accepts an optional attribute, notify, which can be set to false to unilaterally suppress any notifications on that event. (Bug #2891)
http-datacollection-config.xml
The name attribute on URI tags in the HTTP data collection configuration file is now required. It was common practice to do so anyways, but you will need to check your configs to make sure it is defined. (bug #2876)
notifd-configuration.xml
The default behavior of the numeric page (-nm) field in notifications has been changed to prepend "RESOLVED:" to the message, just like other page types, since most people are using the numeric field for SMS pages. To restore the old behavior, add the skip-numeric-resolution-prefix to the global <notifd-configuration> tag at the top of the file, set to "true".
http-datacollection-config.xml
The url tag can now take a number of options relating to how regular expressions should be parsed (bug #2882):
  • canonical-equivalence: When this flag is specified then two characters will be considered to match if, and only if, their full canonical decompositions match. The expression "a\u030A", for example, will match the string "å" when this flag is specified. By default, matching does not take canonical equivalence into account.
  • case-insensitive: Enables case-insensitive matching. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched. Unicode-aware case-insensitive matching can be enabled by specifying the unicode-case flag in conjunction with this flag.
  • comments: Permits whitespace and comments in pattern. In this mode, whitespace is ignored, and embedded comments starting with # are ignored until the end of a line.
  • dotall: Enables dotall mode. In dotall mode, the expression . matches any character, including a line terminator. By default this expression does not match line terminators.
  • literal: Enables literal parsing of the pattern. When this flag is specified then the input string that specifies the pattern is treated as a sequence of literal characters. Metacharacters or escape sequences in the input sequence will be given no special meaning. The flags case-insensitive and unicode-case retain their impact on matching when used in conjunction with this flag. The other flags become superfluous.
  • multiline: Enables multiline mode. In multiline mode the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence.
  • unicode-case: Enables Unicode-aware case folding. When this flag is specified then case-insensitive matching, when enabled by the case-insensitive flag, is done in a manner consistent with the Unicode Standard. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched.
  • unix-lines: Enables Unix lines mode. In this mode, only the '\n' line terminator is recognized in the behavior of ., ^, and $.

The full list of changes is available in bugzilla.

New in OpenNMS 1.6.0

The OpenNMS 1.6.0 release is identical to the OpenNMS 1.5.99 release; the 1.5.99 release candidate was deemed stable and ready for release as 1.6.0.

Here is a brief summary of the major changes in OpenNMS 1.6 since OpenNMS 1.2:

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, 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.

Older News

For older "New and Noteworthy" information, see New and Noteworthy (1.3.x through 1.5.x).

Personal tools
DevJam 2008 Sponsors
DevJam 2008 Sponsor: Google
DevJam 2008 Sponsor: Netregistry
DevJam 2008 Sponsor: Papa John's
NewEdge Networks
OpenNMS takes home the gold award!
Join the Free Software Foundation
Support This Project Commercial OpenNMS Support OpenNMS Italia Get OpenNMS at SourceForge.net. Fast, secure and Free Open Source software downloads Our Network Simulator Our Java Profiler