Planet OpenNMS

August 13, 2018

This Week in OpenNMS: August 13th, 2018

It's time for This Week in OpenNMS!

Last week we worked on health check tools, karaf command shell enhancements, additional daemon reload support, Sextant alarm classification, Enlinkd in the topology UI, and more.

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus did some more fixes to his new health check features.
    • Jesse cleaned up some metric-related APIs and did more work on metric checks in the health check tool.
    • Matthew fixed syslog events to be associated wi...

August 13, 2018 11:31 AM

August 06, 2018

This Week in OpenNMS: August 6th, 2018

It's time for This Week in OpenNMS!

Last week we continued work on RPC over Kafka, Sextant, Enlinkd, and other bug fixes.

Github Project Updates

  • Internals, APIs, and Documentation

    • Christian wrapped up his VMware cleanups.
    • Markus wrapped up fixes for a RADIUS authentication bug.
    • Jeff fixed a logging issue in provisioning that could cause excess logs relating to "not-polled" services.
    • Christian did more work on handling non-directional SFlow data.
    • Chandra did more work on suppo...

August 06, 2018 12:13 PM

August 05, 2018

Smart Debug Logging

Sometimes you have to set a specific OpenNMS deamon to DEBUG mode to find issues in your configuration. Depending of the environments size OpenNMS can create many log entries while being in DEBUG mode. But in some cases the log rotation is faster than an editor can open a log file and the amount of logs is increasing heavily. Especially collectd can be extremely chatty and it seems to be impossible to grep the needed parts out of it.

But the solution is simple. Since OpenNMS uses Log4j2 it's p...

August 05, 2018 06:32 PM

August 01, 2018

Dealing with Docker Interfaces

We run a lot of instances of OpenNMS (‘natch) and lately we’ve seen issues with disk space being used up faster than expected.

We tracked the issue down to Docker. If Docker is running on a machine, SNMP will discover a Docker interface, usually labelled “docker0”. When that instance is stopped and restarted, or another Docker instance is created, another interface will be created. This will create a lot of RRD files of limited usefulness, so here is how to address it.

First, we want to tell OpenNMS not to discover those interfaces in the first place. This is done using a “policy” in the foreign source definition for the devices in question. Here is what it looks like in the webUI:

Skip Docker Interfaces Policy

The “SNMP Interface Policy” will match on various fields in the snmpinterface table in the database, which includes ifDescr. The regular expression will match any ifDescr that starts with the string “docker” and it will not persist (add) it to the database. This policy has only one parameter, so either “Match All Parameters” or “Match Any Parameter” will work.

If you want to use the command line, or have a lot of custom foreign source definitions, you can paste this into the proper file:

   <policies>
      <policy name="Ignore Docker interfaces" class="org.opennms.netmgt.provision.persist.policies.MatchingSnmpInterfacePolicy">
         <parameter key="action" value="DO_NOT_PERSIST"/>
         <parameter key="ifDescr" value="~^docker.*$"/>
         <parameter key="matchBehavior" value="ALL_PARAMETERS"/>
      </policy>
   </policies>

This will not deal with any existing interfaces, however. For that there are two steps: delete the interfaces from the database and delete them from the file system.

For the database, with OpenNMS stopped access PostgreSQL (usually with psql -U opennms opennms) and run:

delete from ipinterface where snmpinterfaceid in (select id from snmpinterface where snmpifdescr like 'docker%');

and restart OpenNMS.

For the filesystem, navigate to where your RRDs are stored (usually /opt/opennms/share/rrd/snmp) and run:

find . -type d -name "docker*" -exec rm -r {} \;

That should get rid of existing Docker interfaces, free up disk space and prevent new Docker interfaces from being discovered.

by Tarus at August 01, 2018 08:39 PM

July 30, 2018

This Week in OpenNMS: July 30th, 2018

It's time for This Week in OpenNMS!

Last week we continued work on RPC over Kafka, Sextant, Enlinkd, and other bug fixes.

Github Project Updates

  • Internals, APIs, and Documentation

    • David continued implementing a feedback mechanism for training/tuning Sextant correlations.
    • Mike Kelly submitted a fix to the date format in the alarm northbounder.
    • Chandra did more work on support for RPC over Kafka.
    • Ronny worked on some theme cleanup in the OpenNMS documentation.
    • Jesse fixed the r...

July 30, 2018 04:04 PM

July 25, 2018

Open Source is Still Dead

Last week I attended the 20th O’Reilly Open Source Conference (OSCON), held this year in Portland, Oregon.

OSCON 20th Anniversary Sign

This is the premiere open source conference in the US, if not the world, and it is rather well run. It is equal to if not better than a lot of proprietary technology conferences I’ve attended, perhaps because it is pretty much a proprietary software conference in itself. I found it a little ironic that the Wednesday morning keynotes started off with a short, grainy video clip where an open source geek shouts out “We’re starting a revolution!”.

I tried to find the source of that quote, and I thought it came from the documentary “Revolution OS“. That movie chronicles the early days of open source software in which the stated goal was to take back software from large companies like Microsoft. There is a famous quote by Eric S. Raymond where he replies to a person from Microsoft with the words “I’m your worst nightmare.” Microsoft is now a major sponsor of OSCON.

When I attended OSCON in 2014 I asked the question “Is Open Source Dead?” Obviously the open source development model has never been more alive, but I was thinking back to my early involvement with open source where the idea was to move control of software out of the hands of big companies like IBM and Microsoft and into the hands of the users. Back then the terms “open source” and “free software” were synonymous. It was obvious that open source operating systems, mainly Linux, would rule the world of servers, so the focus was on the desktop. No one in open source predicted the impact of mobile, and by extension, the “cloud”. Open source today is no more than a development model used mostly to help create proprietary software, usually provided as a subscription or a service over the network. I mean, it makes sense. Companies like Google, Facebook and Amazon wouldn’t exist today if it wasn’t for Linux. If they had to pay a license to Microsoft or Sun (now Oracle) for every server they deployed their business models simply wouldn’t work, and the use of open source for building the infrastructure for applications simply makes sense.

Please note that I am not trying to make any sort of value judgement. I am still a big proponent of free software, and there are companies like Red Hat, OpenNMS and Nextcloud that try to honor the original intention of open source. All of us, open and proprietary, benefit from the large amount of quality open source software being created these days. But I do mourn the end of open source as I knew it. It used to be that open source software was published with “restrictive” licenses like the GPL, whereas now the trend is to move to “permissive” licenses like the MIT or Apache licenses. This allows for the commercialization of open source software, which in turn creates an incentive for large software companies to get involved.

This trend was seen throughout OSCON. The “diamond” sponsors were companies like IBM, Microsoft, Amazon and Google. The main buzzword was “Kubernetes” (or “K8s” if you’re one of the cool kids) which is an open source orchestration layer for managing containers. Almost all of the expo companies were cloud companies that either used open source software to provide a platform for their applications or to create open source agents that would feed back to their proprietary cloud back-end.

I attended my first OSCON in 2009 as a speaker, and I was a speaker for several years after that. My talks were always well-attended, but then for several years none of my paper submissions were accepted. I thought I had pissed off one or more of the organizers (it happens) but perhaps my thoughts on open source software had just become outdated.

I still like going to the conference, even though I no longer attempt to submit a talk. When I used to speak I found I spent most of my time on the Expo floor so now I just try to schedule other business during the week of OSCON and I get a free “Expo only” pass. You also get access to the keynotes, so I was sure to be in attendance as the conference officially started.

OSCON Badge

My favorite keynote was the first one, by Suz Hinton from Microsoft. She is known for doing live coding on the streaming platform Twitch, and she did a live demonstration for her keynote. She used an Arduino to control a light sensor and a servo. When she covered the sensor, the servo would move and “wave” at the OSCON audience. It was a little hard to fight the cognitive dissonance of a Microsoft employee using a Mac to program an open hardware device, but it was definitely entertaining.

OSCON Suz Hinton

My second favorite talk was by Camille Eddy. As interactions between computers and humans become more automated, a number of biases are starting to appear. Google image search had a problem where it would label pictures of black people as “gorillas”. An African-American researcher at MIT named Joy Buolamwini found that a robot recognized her better if she wore a white mask. Microsoft had an infamous experiment where it created a Twitter bot named “Tay” that within 24 hours was making racist posts. While not directly related to open source, a focus on an issue that affects the user community is very much in the vein of classic open source philosophy.

OSCON Camille Eddy

The other keynotes were from Huawei, IBM and Amazon (when you are a diamond sponsor you get a keynote) and they focused more on how those large software companies were using the open source development model to, well, offset the cost of development.

OSCON Tim O'Reilly

The Wednesday keynotes closed with Tim O’Reilly who talked about “Open Source and Open Standards in the Age of Cloud AI”. It kind of cemented the theme for me that open source had changed, and the idea is now much more about tools development and open APIs than in creating user-owned software.

OSCON Expo Floor

The rest of my time was spent wandering the Expo floor. OSCON offers space to traditional open source projects which I usually refer to as the “Geek Ghetto”. This year it was split to be on either side of the main area, and I got to spend some time chatting with people from the Software Freedom Conservancy and the Document Foundation, among others.

OSCON Geek Ghetto

I enjoyed the conference, even if it was a little bittersweet. Portland is a cool town and the people around OSCON are cool as well. If I can combine the trip with other business, expect to find me there next year, wandering the Expo floor.

by Tarus at July 25, 2018 06:09 PM

July 23, 2018

This Week in OpenNMS: July 23rd, 2018

It's time for This Week in OpenNMS!

Last week we continued work on RPC over Kafka, Sextant, Enlinkd, and other bug fixes.

Github Project Updates

  • Internals, APIs, and Documentation

    • David Hustace did more work on fixing how alarm counters are incremented and cleared.
    • Ronny continued his work streamlining documentation.
    • Jesse added additional metadata to alarms generated by the Kafka producer.
    • Jesse added an extension point to Sextant to allow updating alarm metadata before persis...

July 23, 2018 01:57 PM

July 19, 2018

OpenNMS Horizon 22.0.2 (Mind) Released

OpenNMS Horizon 22.0.2 (code name: Mind) is now available.

It contains a number of bug fixes and enhancements, including partial support for custom date formatting in the web UI. This will be expanded to cover the entire web UI in an upcoming release.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 21, see the release notes.

July 19, 2018 09:34 PM

July 16, 2018

This Week in OpenNMS: July 16th, 2018

It's time for This Week in OpenNMS!

Last week we continued development of the Sentinel container, RPC over Kafka, and Sextant, as well as other bug fixing.

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus did more work on the Sentinel container, cleaning up what DAOs are accessible and other cleanup.
    • Markus has started work on a health check tool that will work across Sentinel and Minion containers.
    • Chandra did more work on support for RPC over Kafka.
    • Jesse and...

July 16, 2018 11:55 AM

July 09, 2018

Usage of Operator Instructions in Alarms

Monitoring services or metrics and getting alarms isn't complicated. A more interesting question is: How to fix them (fast)?

Monitoring systems, even in small or middle sized environments, creates a lot of different alarms. When you are working in a team, sometimes the person who creates a test or configures a threshold that throws an alarm is not the same person who has to understand what happened and what to do next.

Either way, you should have some kind of documentation for when you need...

July 09, 2018 05:42 PM

This Week in OpenNMS: July 9th, 2018

It's time for This Week in OpenNMS!

We were off for part of last week for the 4th of July holiday, so we're back with a very special 2-week TWiO.

Github Project Updates

  • Internals, APIs, and Documentation

    • Jesse and David continued their work on a next-generation Alarmd (codename: Sextant) with full rules-based workflow management.
    • Markus did more work on the Sentinel container, validating Kafka communication and adding documentation.
    • Patrick worked on fixing varbind matching valid...

July 09, 2018 10:46 AM

How to build Docker images from branches

In OpenNMS we use Atlassian Bamboo which runs all our tests and build also the packages which can be installed on different operating systems. It plays an important role as quality gate for changes going into the code base. Our Bamboo is public available and can be seen by everyone.

There are two type of branches, one following a pattern like "features/sentinel" and another like "jira/HZN-1307". The feature branches are work in progress branches and used to collect many smaller changes to...

July 09, 2018 10:00 AM

July 03, 2018

iNOG and Ripe NCC Hackathon

Our UK OpenNMS ambassador, Craig Gallen, gave us a hint about a meeting from the Irish Network Operators Group (iNOG) followed by a 2 day Network Operators Tools Hackathon co-hosted by Ripe NCC. I've attended a few NOG meetings already and like the tech-driven and very friendly atmosphere. Luckily, The OpenNMS Group sponsored the trip and so I was able to get myself first time to Dublin.

The iNOG meeting was hosted by Workday in their office in Dublin. We started at 6:00 PM with some...

July 03, 2018 03:33 PM

June 25, 2018

This Week in OpenNMS: June 25th, 2018

It's time for This Week in OpenNMS!

In the last week we got back to continuing the various projects we've been working on.

Github Project Updates

  • Internals, APIs, and Documentation

    • Jesse and David continued their work on a next-generation Alarmd with full rules-based workflow management.
    • Antonio did more work on Enlinkd bug fixes and performance improvements.
    • Chandra added tests and documentation to his Kafka persistence work.
    • I fixed a small bug in the Collectd and Pollerd JMX...

June 25, 2018 01:42 PM

June 21, 2018

OpenNMS Meridian 2017.1.9 Released

Release Meridian-2017.1.9

Release 2017.1.9 is a small update to OpenNMS Meridian 2017.1.8.
It contains a few bug fixes and documentation updates.

The codename for 2017.1.9 is Antwerp meridian.

Bug
  • Entering new destination path in GUI with near identical name overwrites the current one (Issue NMS-3994)
  • Just opening a foreign-source in the web UI causes it to be written to disk (Issue NMS-4720)
  • Surveillance category membership of deleted nodes “leaks” in filters to interfaces of successor nodes (Issue NMS-4876)
  • ConcurrentModificationException in DefaultEventHandlerImpl (Issue NMS-8413)
  • The ReST API used to return XMLs with namespace, and now it doesn’t (Issue NMS-8524)
  • MBean “TasksCompleted” for Collectd and Pollerd returns wrong counters (Issue NMS-9741)
  • The auto-acknowledge-alarm tag with no content doesn’t work on notifd-configuration.xml (Issue NMS-10085)
Enhancement
  • Link to privacy policy from Data Choices UI elements (Issue NMS-10169)

by RangerRick at June 21, 2018 09:12 PM

OpenNMS Meridian 2016.1.14 Released

Release Meridian-2016.1.14

Release 2016.1.14 is an update to 2016.1.13 that makes a few small documentation changes, and a fix to the Top 25 event report.

The codename for 2016.1.14 is Boggs eumorphic.

Bug
  • The ReST API used to return XMLs with namespace, and now it doesn’t (Issue NMS-8524)
  • Event-Analysis Report shows incorrect numbers for big values in Top25 Events (Issue NMS-9202)
Enhancement
  • Link to privacy policy from Data Choices UI elements (Issue NMS-10169)

by RangerRick at June 21, 2018 09:11 PM

OpenNMS Horizon 22.0.1 (Reality) Released

OpenNMS Horizon 22.0.1 (code name: Reality) is now available.

It contains a number of bug fixes and enhancements, including an update to Drools 7, performance improvements to the flow exporter ReST endpoint, and new karaf shell tools for diagnosing nodes.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 21, see the release notes.

June 21, 2018 05:06 PM

June 18, 2018

This Week in OpenNMS: June 18th, 2018

It's time for This Week in OpenNMS!

In the last week we had Dev Jam, our annual developer conference conference.

DEV JAM!

Last week was OpenNMS Dev Jam, a week in which we get OpenNMS community folks together and have a hackathon. As is tradition, on Friday people presented about what they worked on and we filmed it. Video with be forthcoming but in the meantime Tarus did a good job of summarizing what people talked about:

June 18, 2018 02:41 PM

June 11, 2018

This Week in OpenNMS: June 11th, 2018

It's time for This Week in OpenNMS!

In the last week we continued to work on an Alarmd refactor, as well as other bug fixing.

DEV JAM!

This week is OpenNMS Dev Jam, at the University of Minnesota campus. Dev Jam is a week that we get OpenNMS community folks together and have a hackathon. Traditionally, it's a combination social and work week, with people hanging out, having fun, and working on pet projects.

Github Project Updates

  • Internals, APIs, and Documentation

    • Chandra did m...

June 11, 2018 09:58 AM

June 04, 2018

This Week in OpenNMS: June 4th, 2018

It's time for This Week in OpenNMS!

Sorry for missing it last week but I was out of town. In the last 2 weeks, we did a bunch of work on alarm infrastructure and fixing other bugs.

Github Project Updates

  • Internals, APIs, and Documentation

    • Patrick fixed a bug in parsing timestamps in the alarm change notifier.
    • I fixed some issues in the Sentinel container packaging.
    • Markus worked on getting flow support added to the Sentinel container.
    • Patrick wrapped up his changes to support...

June 04, 2018 10:58 AM

May 30, 2018

Running an OpenNMS Minion with Docker

Running a Minion with Docker is relatively easy, you just need to have Docker installed. It makes also updating the Minion very easy cause you can follow the tags latest for latest stable version or trying a bleeding snapshot. You can configure everything through environment variables. At a bare minimum you need something like this:

docker run --rm -d \
  -e "TZ=Europe/Berlin" \
  -e "MINION_LOCATION=Apex-Office" \
  -e "OPENNMS_BROKER_URL=tcp://opennms-ip:61616" \
  -e "OPENNMS_HTTP_URL=h...

May 30, 2018 12:23 PM

May 22, 2018

OpenNMS Meridian 2017.1.8 Released

Release Meridian-2017.1.8

Release 2017.1.8 is a small update to OpenNMS Meridian 2017.1.7.
It contains a few bug fixes and an update to support Newts cache priming.

The codename for 2017.1.8 is IERS Reference Meridian.

Bug
  • ONMS starts with broken threshold configuration file (Issue NMS-9064)

  • Interface delete from a node does not work (Issue NMS-9506)

  • Topology map node icons vanish (IE10, IE11 only) when alarm status unchecked (Issue NMS-9614)

  • Access Denied With Surveillance View In Ops Board (Issue NMS-9678)

  • Enlinkd startup fails due to NPE in BroadcastDomain class (Issue NMS-9852)

  • Value of ${nodeLabel} for PSM services apparently not eagerly updated (Issue NMS-9900)

  • Wrong initial message displayed on AngularJS based tables. (Issue NMS-9932)

  • Alarm favorite link URL does not have AddRefreshHeader-30 applied (Issue NMS-9938)

  • Cannot see StrafePing graphs when using Backshift. (Issue NMS-9946)

  • foreign-id with space (%20) at end causes issues with Newts (Issue NMS-9961)

  • perfdata-receiver doesn’t compile (Issue NMS-9967)

  • Home Page Map does not display node details (Issue NMS-10008)

  • Backport intermittent SNMPv3 failures to foundation-2016 (Issue NMS-10153)

Enhancement
  • Improve performance of newts.indexing to avoid overwhelm Cassandra cluster (Issue NMS-9959)

by RangerRick at May 22, 2018 03:31 PM

OpenNMS Meridian 2016.1.13 Released

Release Meridian-2016.1.13

Release 2016.1.13 is an update to 2016.1.12 that provides a few small bug fixes and an update to support Newts cache priming.

The codename for 2016.1.13 is HEALPix.

Bug
  • Cannot see StrafePing graphs when using Backshift. (Issue NMS-9946)
  • foreign-id with space (%20) at end causes issues with Newts (Issue NMS-9961)
  • Backport intermittent SNMPv3 failures to foundation-2016 (Issue NMS-10153)
Enhancement
  • Improve performance of newts.indexing to avoid overwhelm Cassandra cluster (Issue NMS-9959)

by RangerRick at May 22, 2018 03:31 PM

May 21, 2018

OpenNMS.js v1.2.2

Just a small release to fix a bug encountered in OpenNMS Helm when the new Drift ReST API returned no exporters.

Bug Fixes

  • dao: HELM-91: fix handling non-array results (0707ac7)

by RangerRick at May 21, 2018 08:37 PM

This Week in OpenNMS: May 21st, 2018

It's time for This Week in OpenNMS!

In the last week we mostly worked on wrapping up bug fixes in anticipation of this week's releases.

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus did more work getting various components running in the Sentinel container.
    • Ronny did some more cleanup of SNMP configs in anticipation of the Horizon 22 release.
    • Antonio did more work on Enlinkd improvements.
    • Jesse improved the Flow APIs to provide application names (rather than...

May 21, 2018 11:57 AM

OpenNMS Horizon 22.0.0 (Space) Released

OpenNMS Horizon 22.0.0 (code name: Space) is now available.

It contains a large number of bug fixes and enhancements, most notably adding support for real-time telemetry flow processing.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 21, see the release notes.

May 21, 2018 10:02 AM

May 14, 2018

This Week in OpenNMS: May 14th, 2018

It's time for This Week in OpenNMS!

In the last week we mostly worked on wrapping up bug fixes in anticipation of this week's releases.

Github Project Updates

  • Internals, APIs, and Documentation

    • Ronny continued to work on cleaning up data collection configurations.
    • I did more work on Sentinel container packaging.
    • Chandra continued to work on cleaning up initialization of trap handling and SNMPv3.
    • Christian fixed an NPE bug in Enlinkd.
    • Jeff worked on fixing updating ack-user...

May 14, 2018 11:10 AM

May 07, 2018

This Week in OpenNMS: May 7th, 2018

It's time for This Week in OpenNMS!

In the last week we worked on Sentinel and a bunch of Minion and other fixes.

Github Project Updates

  • Internals, APIs, and Documentation

    • Chandra worked on making the SNMP interface monitor location-aware (and, by extension, Minion-compatible).
    • I did more work on the Sentinel standalone Karaf assemblies.
    • Jesse made the internal service registry lookup timeouts more robust.
    • Antonio did more work on squashing bugs and improving the performance of...

May 07, 2018 09:04 AM

April 30, 2018

This Week in OpenNMS: April 30th, 2018

It's time for This Week in OpenNMS!

In the last week we worked on Drift flow support and optimization, Sentinel, and other bug fixes.

Github Project Updates

  • Internals, APIs, and Documentation

    • I fixed a bunch of Minion-related tests to run properly in the Meridian branch.
    • Markus made some updates to the Drift classification rules and UI, as well as improving cache handling.
    • I worked on creating a common Karaf container to use for both the Minion and Sentinel.
    • Antonio did more wo...

April 30, 2018 11:07 AM

April 23, 2018

OpenNMS Meridian 2016.1.12 Released

Release 2016.1.12 is an update to 2016.1.11 that provides one small bug fix and a Windows build fix.

The codename for 2016.1.12 is Lambert cylindrical equal-area.

Bug
  • EventUtils.eventsMatch() fails if nodeId is greater than 127 (Issue NMS-9941)
  • Java not found properly when building from Windows CMD proc (Issue NMS-9947)

by RangerRick at April 23, 2018 03:38 PM

This Week in OpenNMS: April 23rd, 2018

It's time for This Week in OpenNMS!

In the last week we released Horizon 21.1.0, Meridian 2016.1.12, and Meridian 2017.1.7, and did more work on Drift and preparing for Meridian 2018.

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus worked on some Elasticsearch updates.
    • I worked on refactoring out our Karaf container build so it can be shared between Minion and Sentinel.
    • Chandra worked on making telemetry persistence groovy scripts reloadable at runtime.
    • Patrick...

April 23, 2018 11:16 AM

April 20, 2018

OpenNMS Meridian 2017.1.7 Released

Release 2017.1.7 is a small update to OpenNMS Meridian 2017.1.6.
It contains a few bug fixes and minor enhancements.

The codename for 2017.1.7 is United Kingdom Ordnance Survey Zero Meridian.

Note: Configuration Update

Some updates to Cisco data collection and graph configuration have been made since 2017.1.6.

They add collection from CISCO-REMOTE-ACCESS-MONITOR-MIB on a number of ASAxxxx devices, as well as alarm reduction keys for FRU insertion and removal.
Additionally, graphs for tunnel sessions have been added.

To avoid configuration conflicts, however, the updated files have been written with the extension .xml-2017.1.7.

If you wish to use these new configurations, rename the .xml-2017.1.7 files to .xml, overwriting the existing files.

Changes:

Bug
  • Node ReST service not handling assets and deleting properly (Issue NMS-9855)
  • JasperStudio extension dependency error (Issue NMS-9915)
  • EventUtils.eventsMatch() fails if nodeId is greater than 127 (Issue NMS-9941)
  • compilation fails on windows due to checkstyle exceptions (Issue NMS-9943)
  • Java not found properly when building from Windows CMD proc (Issue NMS-9947)
Enhancement
  • Subsume “Event Configuration How-To” from wiki into admin guide (Issue NMS-9926)
  • Update docs section of devel guide with section on migrating info from wiki (Issue NMS-9934)
  • Refactor UserGroupLdapAuthoritiesPopulator to provide a default role. (Issue NMS-9937)

by RangerRick at April 20, 2018 02:49 PM

April 19, 2018

OpenNMS Horizon 21.1.0 (Replicant) Released

OpenNMS Horizon 21.1.0 (code name: Replicant) is now available.

It contains bug fixes and a few enhancements, including support for forwarding events, alarms, and nodes to Kafka.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 20, see the release notes.

April 19, 2018 02:40 PM

April 16, 2018

This Week in OpenNMS: April 16th, 2018

It's time for This Week in OpenNMS!

In the last week we did a bunch of work on Drift and the Kafka producer, as well as a number of other bug fixes in anticipation of the Horizon and Meridian releases this week.

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus did more work on a Jasper Studios fix.
    • Craig worked on some plugin manager updates.
    • Chandra worked on periodic sync support for the Kafka producer.
    • Patrick did some query index optimization in the Drift fl...

April 16, 2018 11:27 AM

April 13, 2018

OpenNMS.js v1.2.1

Bug Fixes

  • rest: fix HTTP timeout configuration to be more consistent (c8e7162)

by RangerRick at April 13, 2018 05:36 PM

April 09, 2018

This Week in OpenNMS: April 9th, 2018

It's time for This Week in OpenNMS!

In the last week we released Helm 1.1.0, continued to do more work in preparation for Drift in Horizon 22, and worked on various integrations with other tools.

Github Project Updates

  • Internals, APIs, and Documentation

    • I fixed a bug that would cause some event comparisons to not match properly.
    • Jesse, David, and I fixed some bugs in building on Windows.
    • Jesse fixed an issue with template compatibility across different Elasticsearch versions.
    • C...

April 09, 2018 11:54 AM

April 02, 2018

This Week in OpenNMS: April 2nd, 2018

It's time for This Week in OpenNMS!

Github Project Updates

  • Internals, APIs, and Documentation

    • Christian did more work on sFlow support in Telemetryd.
    • Markus added more test coverage for the index strategy and fixed UTC time-handling.
    • Chandra and Jesse did more work on the Kafka producer.
    • Markus improved our internal cache API to be more configurable.
    • Markus worked on improving OID storage in Elasticsearch.
    • Markus added support for a single flow dispatcher adapter.
    • Jesse fix...

April 02, 2018 10:42 AM

March 30, 2018

OpenNMS.js v1.2.0

Bug Fixes

  • http: add timeout to GrafanaHTTP (22bdd70)

Features

  • rest: NMS-9783: add X-Requested-With header to requests (e803726)

by RangerRick at March 30, 2018 02:35 AM

March 26, 2018

This Week in OpenNMS: March 26th, 2018

It's time for This Week in OpenNMS!

Github Project Updates

  • Internals, APIs, and Documentation

    • Christian did more work on sFlow support in Telemetryd.
    • Markus fixed a recursion error in the Elasticsearch client code.
    • Chandra added support for filtering events before passing them on to Kafka.
    • Markus fixed some errors in our netty implementation.
    • Jeff put event configuration info from the wiki into the admin guide.
    • Markus worked on refactoring the smoke test infrastructure.
    • Jes...

March 26, 2018 11:53 AM

March 19, 2018

This Week in OpenNMS: March 19th, 2018

It's time for This Week in OpenNMS!

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus continued his work on improvements to Elasticsearch configuration and testing.
    • Markus fixed a dependency issue that would cause errors in the JasperStudio extension.
    • Craig fixed a classloader issue to access configs from the config manager.
    • Jesse did some work on the Kafka exporter.
    • Markus fixed a bug in flow document indexing in Elasticsearch.
    • Ronny added the admin guide to t...

March 19, 2018 11:53 AM

March 16, 2018

OpenNMS.js v1.1.1

1.1.0 had a build dependency that snuck into the runtime dependencies and caused a number of unnecessary projects to get pulled in. This release is identical to 1.1.0 with that dependency fixed.

by RangerRick at March 16, 2018 09:45 PM

OpenNMS.js v1.1.0

This release adds support for telemetry (Netflow) APIs which will be introduced in OpenNMS 22.x. It also includes a number of build optimizations and updates since v1.0.3.

by RangerRick at March 16, 2018 09:44 PM

March 15, 2018

OpenNMS Meridian 2017.1.6 Released

Release 2017.1.6 is a small update to OpenNMS Meridian 2017.1.5.
It contains a few bug fixes.

The codename for 2017.1.6 is Meridianus Posoniensis.

Bug
  • It is not possible to see Statsd results on the WebUI (Issue NMS-9861)
  • Inconsistent handling of keyboard navigation on top menu (Issue NMS-9867)

by RangerRick at March 15, 2018 08:19 PM

OpenNMS Meridian 2016.1.11 Released

Release 2016.1.11 is an update to 2016.1.10 that provides one small bug fix.

The codename for 2016.1.11 is Gall-Peters.

Bug
  • Inconsistent handling of keyboard navigation on top menu (Issue NMS-9867)

  • Copyright dates need a bump for 2018 (Issue NMS-9871)

by RangerRick at March 15, 2018 08:18 PM

OpenNMS Meridian 2015.1.9 Released

Release 2015.1.9 is the tenth release of OpenNMS Meridian 2015.
It contains a keyboard-navigation fix and a few documentation/date updates.
The codename for 2015.1.9 is MIST.

Bug
    • Tweak Mattermost notification docs not to specify a channel (Issue NMS-9362)
    • Inconsistent handling of keyboard navigation on top menu (Issue NMS-9867)
    • Copyright dates need a bump for 2018 (Issue NMS-9871)

by RangerRick at March 15, 2018 08:17 PM

OpenNMS Horizon 21.0.5 (Electric Sheep) Released

OpenNMS Horizon 21.0.5 (code name: Electric Sheep) is now available.

It contains mostly bug fixes.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 20, see the release notes.

March 15, 2018 04:12 PM

March 12, 2018

This Week in OpenNMS: March 12th, 2018

It's time for This Week in OpenNMS!

Github Project Updates

  • Internals, APIs, and Documentation

    • Markus worked on Sentinel documentation and proof-of-concept code.
    • I backported my fixes for the Minion build to the 2017 foundation branch.
    • Markus did some improvements to Elasticsearch configuration and testing.
    • Christian worked on sFlow support in Telemetryd.
  • Web & UI

    • Chandra worked on fixing a JSTL bug that was causing Statsd reports to not render.
    • Patrick fixed keyboard na...

March 12, 2018 11:11 AM

March 05, 2018

This Week in OpenNMS: March 5th, 2018

It's time for This Week in OpenNMS!

Github Project Updates

  • Internals, APIs, and Documentation

    • Craig did a few more fixes and enhancements to the plugin manager.
    • Markus did some work on running the DAOs in an OSGi container.
    • Dustin fixed MD4-handling in the Radius code.
    • Dustin and Christian did more work on Netflow 9, IPFIX, and sFlow support.
  • Web & UI

    • Patrick worked on keyboard navigation of the menu.
    • I upgraded our asset build to Webpack 4 and did a bunch of build opti...

March 05, 2018 10:23 AM

February 27, 2018

This Week in OpenNMS: February 27th, 2018

It's time for This Week in OpenNMS!

Sorry for the delay in getting this out, but last week I was on a nerd cruise and my flight home got delayed until yesterday.

Github Project Updates

  • Internals, APIs, and Documentation

    • Seth worked on wrapping up his blueprint/karaf/gemini refactor.
    • Jesse made Elasticsearch connection and read timeouts configurable.
    • Dustin did more work on Netflow 9 and IPFIX support.
    • Craig did more fixes to the plugin manager.
    • Jesse fixed the flow API to s...

February 27, 2018 11:21 AM

February 16, 2018

Prodigal Customers

Growing up in the southern United States meant Sunday mornings were spent at Sunday School. One of the stories we would study was the Parable of the Prodigal Son. A man has two sons. The younger son asks for his inheritance in advance and he goes off and squanders it. When he returns, his father throws a big celebration to welcome him back.

I never really got the point of that story, as I always identified with the older, dutiful son, so it is surprising that it took working with OpenNMS for me to understand it.

We have great customers. Since we do little marketing, before we get a customer they have to first discover OpenNMS, then investigate it to see if it meets their needs, and only then do they contact us. It means that they are self-selecting, and without exception they are incredibly smart, physically beautiful and possessing of a wit so sharp they make Ginsu knives look dull. (grin)

The first company to ever buy an OpenNMS support subscription did so in December of 2001, and this year they renewed for the 17th time. It is a wonderful testament to the work of the team that they created something to inspire such a long commitment.

That said, we do lose a few customers each year. The first one I lost was a little heartbreaking. It was a hospital in Virginia, and when I called them to see if they would renew their support subscription they told me “no”. I was a little shocked, as I was unaware of any problems and they hadn’t opened tickets in awhile, and they told me that was the point. They loved OpenNMS but it “just worked” so they saw no value in getting support, they were still using it.

A more common case for us losing a customer is that our “internal champion” leaves. OpenNMS is a complex and powerful tool, and it does take awhile to climb the learning curve to see its full potential. If all of that knowledge is focused on one person, and that person leaves, their replacement can be overwhelmed and seek out something simpler, even if it is more expensive and less powerful.

I am alway saddened when this happens, but lately we’ve been experiencing what I’m calling “Prodigal Customers”. These are customers who leave and come back.

Cartoon by Chad Essley http://www.cartoonmonkey.com

I love them, and always want to slaughter (figuratively) the fattened calf to welcome them back.

It’s hard to explain, but while it is wonderful to have someone use something you’ve created for almost two decades straight, it is almost more rewarding to have someone go and try something else and discover it doesn’t stack up. Heck, I’d love it if all our customers could try out every possible option, because those that then chose OpenNMS for their solution would truly recognize what an awesome platform it can be.

Being 100% open source, OpenNMS does not have any way to “lock in” a particular customer. You can use it with our services or without, but you always have access to the latest code. Thus choosing to use OpenNMS is a validation of the work we’ve put into it, and whether you are a long time customer, a new customer, or a “prodigal” customer, your preference to use OpenNMS makes all the work to create it worthwhile.

by Tarus at February 16, 2018 12:46 PM

February 15, 2018

OpenNMS Meridian 2017.1.5 Released

Release 2017.1.5 is a small update to OpenNMS Meridian 2017.1.4.
It contains a few bug fixes and performance enhancements.

The codename for 2017.1.5 is Pulkovo meridian.

Bug
  • Change links to docs in help page using https (Issue NMS-9832)
  • Copyright dates need a bump for 2018 (Issue NMS-9871)
Enhancement
  • ES REST plugin not doing preemptive basic auth (Issue NMS-9699)
  • bsmd: avoid processing alarm lifecycle events when no rules are defined (Issue NMS-9835)

by RangerRick at February 15, 2018 07:56 PM

OpenNMS Horizon 21.0.4 (Priscilla Stratton) Released

OpenNMS Horizon 21.0.4 (code name: Priscilla Stratton) is now available.

It contains bug fixes and a few performance enhancements.

For more details on what has changed, see the complete change log.

More Info

For complete info on what has changed since Horizon 20, see the release notes.

February 15, 2018 02:26 PM

February 13, 2018

OpenNMS.js v1.0.3

This is a small release with documentation updates, an API for stringifying model objects, and enabling search properties in the NodeDAO.

by RangerRick at February 13, 2018 03:37 PM

February 12, 2018

This Week in OpenNMS: February 12th, 2018

It's time for This Week in OpenNMS!

In the last week we worked on the Drift telemetry project, turning the Minion into an appliance, Karaf, bug fixes, the plugin manager, Helm, and refactoring our JavaScript.

Github Project Updates

February 12, 2018 11:33 AM

February 05, 2018

This Week in OpenNMS: February 5th, 2018

It's time for This Week in OpenNMS!

In the last week we did more work on Drift telemetry, the event bus, Karaf refactoring, web UI bug fixes, and refactoring our JavaScript.

Github Project Updates

  • Internals, APIs, and Documentation

    • Jesse enhanced the event listener API to make them multi-threaded (including alarm processing).
    • Dustin continued his work on Netflow 9 and IPFIX support in Telemetryd.
    • Chandra did more work on NX-OS Telemetryd support.
    • Seth is close to wrapping up hi...

February 05, 2018 10:56 AM

January 31, 2018

2018 New Zealand Network Operators Group (NZNOG)

One thing that all open source projects struggle with is getting users. Most people in IT and software are overwhelmed with a plethora of information and options, and matching the right material to the right audience is a non-trivial problem.

Last year my friend Chris suggested that I speak at a Network Operators Group (NOG) meeting, specifically AusNOG. It was a lot of fun. I felt very comfortable among this crowd. so I decided to reach out to more NOGs to see if they would be interested in learning about OpenNMS.

The thing I like the most about NOGs is that they value getting things done above all else. While “getting things done” is still important with the free and open source crowd, there seems to be more philosophy and tribalism at those shows. “Oh, that’s written in PHP, it must suck” etc. As a “freetard” I live for the philosophical and social justice aspects of the community, but from a business standpoint it doesn’t translate well into paying customers.

At NOGs the questions are way more business-focused. Does it work? Is it supported? What does it cost? While I’m admittedly biased toward OpenNMS and its open source nature, the main reason I keep promoting it is that it just makes solid business sense for many companies to use it instead of their current solution.

Plus, these folks are pretty smart and entertaining while dispensing solid advice and knowledge.

Anyway, with that preamble, at AusNOG I learned about the New Zeland NOG (NZNOG) and submitted a talk. It got accepted and I found myself in Queenstown.

NZNOG Scenary

The main conference was spread out over two days, and like AusNOG it consisted of 30 to 45 minute talks in one track.

While I know it won’t work for a lot of conferences, I really like the “one track” format. It exposes me to things I wouldn’t have gone to otherwise, and if there is something I am simply not interested in learning about I can use that time to catch up on work or participate in the hallway track.

NZNOG Clare Curran

The conference started with a presentation by the Honorable Clare Curran, a newly minted Member of Parliament (they recently held elections in New Zealand). I’m slowly seeing politicians getting more involved in information technology conferences, which I think is a good thing, and I can only hope it continues. She spoke about a number of issues the government is facing with respect to communications technology.

Several things bother me about the US government, but one big one is the lack of understanding of the importance of access to the Internet at broadband speeds. Curran stated that “lack of reliable high-speed network access is a new measure of poverty”. Later in the day John Greenhough spoke on New Zealand’s Ultra-Fast Broadband (UFB) project, where on one slide broadband was defined as 20Mbps download speed.

NZNOG John Greenhough

Where I live in the US I am lucky to get 10Mbps and many of my neighbors are worse off, yet the government is ceding more of the decision making process about where to build out new infrastructure to the telecommunications companies which have zero incentive to improve my service. It’s wonderful to see a government realize the benefits of a connected populace and to take steps to make it happen.

Because we all need Netflix, right? (grin)

There was a cool talk about how Netflix works, and I didn’t realize that they are working with communications providers to provide low-latency solutions distributed geographically. This is done by supplying providers with caching content servers so that customers can access Netflix content while minimizing the need for lots of traffic over expensive backhaul links.

NZNOG Netflix RRD

I did find it cool that one of the bandwidth graphs presented was obviously done using RRDtool. I don’t know if they collected the data themselves or used something like OpenNMS, but I hope it was the latter.

With this push for ubiquitous network access comes other concerns. New Zealand has a law called TICSA that requires network providers to intercept and store network traffic data for use by law enforcement.

NZNOG Lawful Intercept

I thought the requirements were pretty onerous, but I was told that the NZ government did set aside some funds to help providers with deploying solutions for collecting and storing this data (but I doubt it can cover the whole cost, especially over time). The new OpenNMS Drift telemetry project might be able to help with this.

NZNOG Aftab Siddiqui

There were a couple of talks I had seen in some form at AusNOG. The ever entertaining Aftab Siddiqui talked about MANRS (Mutually Agreed Norms for Routing Security) but unlike in Australia he was hard pressed to find good examples of violations. Part of that could be that New Zealand is much smaller than Australia, but I’m giving the NZ operators the credit for just doing a good job.

NZNOG NetNORAD

The Facebook folks were back to talk about their NetNORAD project. While I have a personal reluctance to deploy agents, there really isn’t a way to measure latency at the detail they want without them. I think it would be cool to be able to gather and manage the data created by this project under OpenNMS.

NZNOG Geoff Huston

What I like most about these NOG meetings is that I always learn something cool, and this one was no different. Geoff Huston gave a humorous talk on DNSSEC and handling DNS-based DDoS attacks. While I was somewhat familiar with DNSSEC, I was unaware of the NSEC part of it.

Most DNS DDoS attacks work by asking for non-existent domains, and the overhead in processing them is what causes the denial of service. The domain name is usually randomly generated, such as jeff123@example.com, jeff234@example.com, etc. If the DNS server doesn’t have the domain in its cache, it will have to ask another DNS server, which in turn won’t have the domain as it doesn’t exist.

The NSEC part of DNSSEC, when responding to a non-existent domain request, will return the next valid domain. In the example above, if I ask for jeff123@example.com, the example.com DNS server can reply that the domain is invalid and, in addition, the next valid domain is www.example.com. If implemented correctly, the original DNS server should then never query for jeff234@example.com since it knows it, too, doesn’t exist.

Pretty nifty.

NZNOG Rata Stanic

One talk I was eagerly awaiting was from Rada Stanic at Cisco. She also spoke at AusNOG but I had to leave early and missed it. While she disrespected SNMP a little more than I liked (grin), her talk was on implementing new telemetry-based monitoring protocols such as gRPC. OpenNMS Drift will add this functionality to the platform. Our experience so far is that the device vendor implementation of the telemetry protocols leaves something to be desired, but it does show promise.

NZNOG Ulf

It was nice being in New Zealand again, and our mascot Ulf seemed to be popular with the locals. Can’t imagine why.

by Tarus at January 31, 2018 11:38 PM

January 29, 2018

This Week in OpenNMS: January 29th, 2018

It's time for This Week in OpenNMS!

In the last week we did more work on Drift telemetry, Kafka metrics, Karaf refactoring, web UI bug fixes, and refactoring our JavaScript.

Github Project Updates

  • Internals, APIs, and Documentation

    • Seth fixed calling collection commands over the RPC interface.
    • Chandra did more work on generic resource collection.
    • Dustin did the groundwork for sFlow support in Telemetryd.
    • Ronny updated the help page to use HTTPS links.
    • Seth fixed logging issue...

January 29, 2018 10:56 AM

January 25, 2018

2018 Linuxconf Australia Sysadmin Miniconf

I just wanted to put up a quick post on my trip to Linuxconf Australia (LCA) being held this week in Sydney.

First, a little background. I’ve been curtailing my participation in free and open source software conferences for the last couple of years. It’s not that I don’t like them, quite the opposite, but my travel is funded by The OpenNMS Group and we just don’t get many customers from those shows. A lot of people are into FOSS for the “free” (as in gratis) aspect.

Contrast that with telcos and network operators who tend to have the opposite viewpoint, if they aren’t spending a ton of money then they must be doing it wrong, and you can see why I’ve been spending more of my time focusing on that market.

Anyway, we have recently signed up a new partner in Australia to help us work with clients in the Pacific Rim countries called R-Group International, and I wanted to come out to Perth and do some training with their team. Chris Markovic, their Technical Director as well as being “mobius” on the OpenNMS chat server, suggested I come out the week after LCA, so I asked the LCA team if they had room on their program for me to talk about OpenNMS. They offered me a spot on their Sysadmin Miniconf day.

Linuxconf Australia Sign

The conference is being held at the University of Technology, Sydney (UTS) and I have to say the conference hall for the Sysadmin track was one of the coolest, ever.

Linuxconf Australia - UTS Lecture Hall

The organizers grouped three presentations together dealing with monitoring: one on Icinga 2, one from Nagios and mine on OpenNMS. While I don’t know much about Icinga, I do know the people who maintain it and they are awesome. One might think OpenNMS would have an antagonistic relationship with other FOSS monitoring projects, but as long as they are pure FOSS (like Icinga and Zabbix) we tend to get along rather well. Plus I’m jealous that Icinga is used on the ISS.

Linuxconf Australia Icinga2 Talk

I think my talk went well. I only had 15 minutes and for once I think I was a few seconds under that limit. While it wasn’t live-streamed it was up on YouTube very quicky, and you can watch it if you want.

I had to leave LCA to head to the New Zealand Network Operator’s Group (NZNOG) meeting, so I missed the main conference, but I am grateful the organizers gave me the opportunity to speak and I hope to return in the future.

Linuxconf Australia During a Break

by Tarus at January 25, 2018 06:31 PM

January 22, 2018

This Week in OpenNMS: January 22nd, 2018

It's time for This Week in OpenNMS!

In the last week we did more work on Drift telemetry, Kafka metrics, Karaf refactoring, web UI bug fixes, and refactoring our JavaScript.

Github Project Updates

  • Internals, APIs, and Documentation

    • Chandra continued to work on exposing Kafka metrics to collection by making JMX collection support generic resource types.
    • Seth continued his work making our bundles load properly with blueprints.
    • Markus worked on telemetry data validation.
    • Dustin wo...

January 22, 2018 10:50 AM

January 18, 2018

OpenNMS Meridian 2017.1.4 Released

Release 2017.1.4 is an update to OpenNMS Meridian 2017.1.3. It is primarily a bug fix release.

The codename for 2017.1.4 is Tenerife meridian.

Bug
  • Notification storm causes JVM crash with: Native memory allocation (mmap) failed (Issue NMS-9766)
  • The typeahead widget for KSC Report Search on front page is not working (Issue NMS-9776)
  • The geographical maps on large installations is unusable (Issue NMS-9777)
  • Cannot create user groups through the WebUI (NPE) (Issue NMS-9785)
  • Broken Link in Admin guide to Alarm Introduction (Issue NMS-9802)
  • Wrong syntax for automatic rescanning in admin guide (Issue NMS-9803)
  • Geocoordinates truncated to 5 decimal places (Issue HZN-1219)

by RangerRick at January 18, 2018 09:59 PM