What’s New in OpenNMS 1.12
Jeffrey Gehlbach
October 24, 2013
Agenda (1/2)
I Who is this guy?
I What is OpenNMS?
I Overview of functional areas
Agenda (2/2)
I Configuration helpers I End-user helpers I Infrastructure I Integration I Performance improvementsI Device coverage improvements
I Linkd improvements
I Shiny!
I Architectural
Who is this guy?
Introducing the speaker
A pretty lucky human
Ten fingers, ten toes, some industry experience
I NASA
→
Management of large IP networksI Empire / Concord
→
Making and consulting on NMSI BellSouth
→
Cranium formed into Bell shapeI OpenNMS Group
→
Met many smart and beautiful peopleWhat is OpenNMS
Glad you asked
I World’s First
I Enterprise-Grade
I Network Management Platform
I Developed Under the Open Source Model
What is OpenNMS
World’s First
I SourceForge project number 4141
I Registered on SF March 2000
I Development started earlier
What is OpenNMS
Enterprise-Grade
I Scalability baked into design
I Original goal: 10K node coverage
I Inspiration from OpenView NNM, Tivoli, Netcool...
I Extensible, event-driven architecture
What is OpenNMS
Network Management Platform
I A platform, not an application
I Every aspect is customizable
I XML configuration
I Many APIs
What is OpenNMS
Developed Under the Open Source Model
I Entire code base is GPLv3 (was GPLv2)
I The “enterprise” version is the only version
I All work done in the public SCM system
I All sponsored work goes upstream
Functional Areas of OpenNMS
“Five halves of OpenNMS”
I Provisioning I Service Assurance I Performance Management I Event Management I Reporting, Presentation 11 / 53
Functional Areas of OpenNMS
Provisioning
I Populating the model
I Nodes
I Interfaces
I Services
Functional Areas of OpenNMS
Service Assurance
I aka Polling
I “Is it up or not?”
I Wide range of services supported
I Response times may be persisted
I Outages create events, alarms
Functional Areas of OpenNMS
Performance Management
I Collect, store, analyze
I “How’s it running?”
I SNMP, JMX, JDBC, WMI, others...
I Resource graphs, thresholds, reports
I Thresholds create events, alarms
Functional Areas of OpenNMS
Event Management
I Events are currency
I Sources: Internal, SNMP traps, syslog
I Events vs. Alarms
I Notifications
I Helpdesk integrations
Functional Areas of OpenNMS
Reporting, Presentation
I Webapp central component
I Ad-hoc resource graphs
I Event, alarm browsers
I JasperReports integration
I Maps
I ReST API
What’s New
Configuration Helpers
I JMX configurator
I SNMP MIB compiler
I SNMP DC configurator
I Split graphs configuration
What’s New: Configuration Helpers
JMX Configurator
I Ein Saugblaser für JMX
I Input: host, port, credentials
I Outputs: data collection and graph definitions
I Automatic DS-name compression
I Enormous time savings realized
What’s New: Configuration Helpers
SNMP MIB “Compiler”
I Upload MIB definitions
I Creates event and data collection definitions
I Entirely GUI work flow in webapp (Vaadin)
I Customize outputs in GUI
I No more need to edit XML files
What’s New: Configuration Helpers
SNMP Data Collection Configurator
What’s New: Configuration Helpers
Split Graphs Configuration
I New etc/snmp-graph.properties.d directory
I Making graphs still sucks
I Maintaining changes now sucks less
I Mirrors data collection config split of OpenNMS 1.10
What’s New
End-User Helpers
I Nodes with pending problems
I New topographical map
I Geographical map
What’s New: End-User Helpers
Nodes with Pending Problems
I Replaces old “Nodes with Outages” box
I Reflects shift toward alarm-based work flow
I Old-schoolers can change back
What’s New: End-User Helpers
New Topographical Map
I Not the OpenNMS topo map of yesterday
I Requirement: “must be sexy” (Vaadin)
I Renders topologies from Linkd, but others too
I Pluggable layout algorithms
I Semantic zooming and scoping
I Integrated node, alarm browser widgets
I Apparently not completely bug-free...
What’s New: End-User Helpers
“Bug” in new topographical map
What’s New: End-User Helpers
Geographical Map
I Finally, a geo node-map (Vaadin, Leaflet)
I Automatically geocodes addresses in asset records
I Choose Google or OSM for map, geocoder provider
I Zoom-level-aware node grouping
I Alarm severity indication
What’s New: End-User Helpers
Geographical Map Eye-Candy
What’s New
Infrastructure
I Access Point Monitor
I VMware Integration
What’s New: Infrastructure
Access Point Monitor
I Intelligently monitors WiFi APs
I Vendors: Aruba, Motorola, others?
I Talks SNMP to controllers, not directly to APs
I APs still appear as regular nodes
I Community contribution!
What’s New: Infrastructure
VMware Integration
I Uses vSphere native SOAP and CIM APIs
I Provisioning: Just point at vSphere server
I Topology: Gathered automatically
I Polling: Health indicators on hosts, VMs
I Data Collection: So much stuff!
I Community contribution!
What’s New: Infrastructure: VMware
Provisioning Conceptual Diagram
What’s New: Infrastructure: VMware
VMware Service Assurance
What’s New: Infrastructure: VMware
Further Reading
I Academic paper (Deutsch)
What’s New
Integration
I Syslog northbounder
I Jira ticketer (updated)
I Drools in ticketing (new)
I Remedy ticketer (new)
What’s New: Integration
Syslog Northbounder
I First of many planned “Northbounders”
I Alarm-centric, rather than event-tied
I Multiple configurable destinations
I UDP, TCP transports supported
I JMS, HTTP northbounders partially done
What’s New: Integration
Updated Jira Ticketer
I Now uses Jira 5.x+ ReST API
I No more need to make stubs from WSDL
I Now approximately 5000% easier to set up
What’s New: Integration
Drools in Ticketing
I Brings Drools to OpenNMS’ Ticketd
I Codify business processes
I Assign tickets to users
What’s New: Integration
New Remedy Ticketer
I Uses Remedy ARS SOAP API
I Create requests from alarms
I Automatic or manual operation
What’s New
Performance Improvements
I Provisioning performance
I Event handling
What’s New: Performance Improvements
Provisioning
I Unncessary disk I/O eliminated
I Big improvement with huge requisitions
I May break some “clever” provisioning scripts
I Use the provisioning ReST service instead!
What’s New: Performance Improvements
Event Handling
I Event queue length now boundable
I Still unbounded by default
I Most won’t notice
I If your use case is event-heavy, see me
What’s New
Device Coverage Expanded (1/2)
I ACME Packet
I Allot
I BladeNetwork
I Cisco TelePresence
I Ericsson Juniper Networks GGSN
I Ericsson IPWorks
What’s New
Device Coverage Expanded (2/2)
I Isilon (EMC)
I Pingtel
I VMware CIM
I VMware VirtualCenter 2.5
I VMware vCenter 4.1 and 5.0
What’s New
Linkd Improvements
I New: Link data exposed via ReST service
I New: OSPF discovery
I New: LLDP discovery
I Many fixes to corner cases
I Battle-proven: Juniper, T-Systems
What’s New
Shiny!
I Near Real Time Graphing
What’s New: Shiny!
Near Real Time Graphing
I Take any SNMP-derived graph to redline
I Configurable interval down to 250ms
I SNMP operations are server side
I Data plotted in browser via D3.js
I GSoC 2012 project!
What’s New: Shiny!
Near Real Time Graphing
What’s New
Boring Architectural Stuff
I Java >= 6 required
I OSGi / Karaf
I Spring Framework 3.0
I Spring Security 3.1
What’s New: Architectural
Java >= 6 Required
I Java 6 EOL actually past...
I Oracle and OpenJDK builds work
I Oracle 7 JDK recommended (I know...)
I OpenJDK 8 shows great promise
What’s New: Architectural
OSGi / Karaf
I New technology in our stack
I Solves many long-standing problems
I Enables much greater modularity
I Just some bits run in Karaf in 1.12
I Next major release will be 100% OSGi
What’s New: Architectural
Spring Framework 3.0
I Dependency injection framework
I Long-standing part of our stack
I OpenNMS 1.10 used Spring 2.5
I You won’t notice the change
What’s New: Architectural
Spring Security 3.1
I AAA toolkit and framework
I Long-standing part of our stack
I OpenNMS 1.10 used Spring Security 2.0
I You won’t notice the change
I Unless you use LDAP, AD, RADIUS for AAA (see me)
Conclusion, Questions
Thanks for your time!