e n t i m O S S
Open · Community · Solutions
Standards and OpenNMS
Dr Craig Gallen EngD C.Eng MBA
entimOSS Limited
6 Burnett Close
Bitterne Park
Southampton
Hampshire
England
SO18 1JD
:
:
Mobile
: +44 (0) 7789 938012
The OpenNMS Group, Inc.
220 Chatham Business Drive
Pittsboro
NC 27312
United States
e-mail [email protected]
www.opennms.com
Phone: +1 919-533-0160
Fax: +1 503-961-7746
slide - 1 © Craig Gallen 2009
Standards
•
Why?
—
Exposes us to research communities
—
Demonstrates mind share
—
Gets us into vendor and service provider labs
—
Marketing?
—
Sets us up as a platform of choice
–
Telcos / Equipment vendors
•
Which
—
Community of end users for our product
—
Access to domain experts
—
Marketing - Possibility to sell solutions
—
New or existing segments
•
Open source and standards
—
Defacto standard through wide adoption
slide - 3 © Craig Gallen 2009
DMTF CIM Common Information Model
Management
Standards and
Functionality
- Problem Management Work Flow
•
Event Collection
— OpenNMS can record all event occurrences
•
Alarm Correlation
— OpenNMS uses an Alarm Mechanism to convert configurable 'alarm raising traps' or 'alarm clearing traps' into a manageable alarm cycle. On first receiving a trap, an alarm is raised. subsequent traps are
counted against the alarm. A clearing trap clears the alarm ready for a new raise event.. This is the simplest use of the alarm list. However, user configured
'automations' can process the alarm list for more sophisticated analysis. In addition, OpenNMS
leverage's the Jboss Rules correlation engine for more sophisticated down stream alarm suppressing.
•
User Notifications and scheduled escalation
— OpenNMS supports multiple users and an Notification escalation mechanism between users. If a severe event is detected (such as a major alarm), this generates a Notification which is escalated over time through a list of users if it is not acknowledged. The system can also generate external paging, emails or instant messaging messages to attract attention to a notification.
•
Trouble ticket integration
— If the basic escalation mechanism is not enough, OpenNMS also has a Trouble ticket interface for integrating with a number of trouble ticket systems including open source trouble ticket
slide - 5 © Craig Gallen 2009
Functionality
- Performance & SLA Management
•
Performance Data Collection and Management
— Like other network management tools such as Nagios or Cricket, OpenNMS stores performance data in RRD files. It can use RRDTool to do the collection, but the preferred library is Jrobin which is a Java implementation of RRD.
— OpenNMS has MIBS already installed for most large vendors equipment but users can add their own configurations. The user community often share this work and experience of new equipment.
— However unlike these tools, all of the scheduling of data collection is controlled by a Java process entirely within OpenNMS which makes the solution very scalable.
— Data can be collected from a variety of sources; SNMP polling and trap management, Ascii Syslog messages, TL1, JMX. there is also an integration with Nagios to allow the use of Nagios plugins. OpenNMS has also been integrated with Snort.
•
Data visualisation
— OpenNMS presents performance data as graphs. These graphs can also be exported in the form of performance reports.
— Threshold events. OpenNMS can generate Threshold crossing alarms based on changes in the data. OpenNMS also performs synthetic transactions to test the availability of services on nodes. This can be done centrally or through a distributed collection of remote rollers as described above.
•
Service Quality Management
— SLA Alarms can be escalated based upon threshold crossing events. Every performance data collection point can be
assigned a lo/high threshold with hysteresis to avoid ‘bouncing’ alarms
Functionality
- Platform Architecture
ca ps d: N ode ca pa bi li ty s ca nne r col le ct d: P er f da ta col le ct ion di sc ove ry : D is cove r ne w node s li nkd: L ink T opol ogy di sc ove ry not if d: N ot if ic at ions M ana ge r sc ri pt d: S cr ipt s run by e ve nt s sy sl ogd: S Y S L O g pa rs ing thr es hd: P er f T hr es hol d M gr . ***t ic ke td: T roubl e T ic ke t Int er fa ce tr ans la tor : E ve nt T ra ns la ti on tr apd: S N M P T ra p R ec ei ve r va cuum d: D at aba se A ut om at ions JMX Mbeans PostgreSQL Db Persistence /etc/*.XML config Castor XML *Hibernate ORM*Spring Wiring / Data Access Objects (Spring Framework) JDBC ORM Jrobin RRD Files Log4J Log Files JM X c ol le ct or ***D rool s C or re la ti on M ana ge r X M L R P C D ae m on **qos d: O S S /J S er ve r i nt er fa ce **qos dr x: O S S /J C li ent I nt er fa ce C ont rol le r: O pe nN M S P roc es s cont rol le r
eventd: Event Handler / Registration / Broadcasting Tomcat or Jetty JSP container JSP’s Spring MVC Acegi Security ***Gwt
Google Windows Toolkit JfreeChart
OpenNMS Web Client External Interfaces Correlation / Workflow
Network Management Interfaces
D is tr ibut ed P ol li ng
Java Web Start (distributed Poller) Jrobin (graphs) Web Client accesses DAO’s External Integration Interfaces *** July 2007 ** Dec 2006 July 2006
slide - 7 © Craig Gallen 2009
Architectural Direction
•
Platform
—
Become the ‘Linux of network
management’
—
Embedded and integrated as part of
large scale systems
—
Service Orientated Architecture
—
Ecosystem of community and
commercial development and support
•
Technology
—
OSGi – distributed plugin technology
– Aligns with Jboss and other app servers
—
Topology Visualisation
—
Integration bus – probably leveraging
Apache Service Mix
—
Self Managed Cloud deployment model
—
No SQL performance data storage
strategy
•
Standards
—
De-facto reference implementation of
key industry standards
–
TM Forum,
–
DMTF
–
other?
•
TM Forum Interface Program
—
Founder members
—
Advocated open source program
—
Wrote Resource Alarm Management
Reference Implementation (RI) and
Compatibility test kit (CTK)
Participated in 4 catalysts
—
OSS/J open source Catalyst
—
Cloud Broker Catalyst
—
Resource Alarm Management for
Converged Networks
– NGCOR / RAM Catalyst Orlando 2011 and Nice 2012
Key Benefit:
Open Source Manages Costs & Risk
•
Open source allows all of the participants to share and manage the risks of
pre-production verification of specifications
Failure Risk
Expected Cost Feasible solution area non-Feasible solution area
Risk Efficient Boundary X-Y
X
Commercial COTS OSS Project
COTS OSS Trial
Y
Area of
Incompetence Opportunity
Region
Open Source Catalyst
COTS OSS Catalyst
slide - 9 © Craig Gallen 2009
NGCOR and TIP
•
The TM Forum Interface Program TIP
—
Convergence of OSS/J / MTOSI / IPDR
—
Open source model driven development
of interfaces
•
Business Drivers
—
Recent TM Forum Board Paper on
Tooling Strategy
—
“… building interfaces manually, using
experts to work collaboratively together
has largely failed”
–
in the past because many operators had
the luxury of high margins to design
bespoke approaches
–
today because the interfaces take too long
to build and are inflexible.
—
“…there must be a way of extending or
changing the interface without destroying
interoperability”.
–
This need for field modification of the
standard means that interface development
tools are not just required by the
TM Forum
teams generating the ‘base’ standard
, but
by many
member companies who will be
using them for production / commercial
purposes.
•
NGCOR
—
Strong cross influence with TIP program
–
Modelling and Tooling
–
Fault Management
–
Inventory Management
–
(performance management)
•
TIP Resource Alarm Management
—
Designed to comply with NGCOR FM
Requirements
—
See TR184-A Version 1.3 NGCOR
Fault Management Requirements
Mapping (Marc Flauw HP)
Candidate interfaces
•
Fault Management
—
OSS/J Quality of Service
—
OSS/J Trouble ticket
—
TIP Resource Alarm Management
—
TIP Service Problem Management
•
Inventory
—
TIP Inventory Management
—
MTOSI
—
WBEM / CIM
•
Performance Management
© Craig Gallen 2011
e n t i m O S S
Open · Community · Solutions
Meeting NGCOR Requirements for
Modelling and Tooling
How do we use the Integration
Framework (NGOSS) to design real
solutions?
NGOSS lifecycle
MDA tooling with NGOSS Models
Model Driven
Architecture
Round Trip Engineering
Source: The Zachman Framework and the OMG's Model Driven Architecture Business Process Trends Whitepaper September 2003
TM Forum Interface Program delivers
Working code and interfaces
Developing the standards through
Model Driven Engineering
slide - 13 © Craig Gallen 2009
Model Driven Engineering
Code Generation with Tigerstripe
•
Tigerstripe
—
Open Source
—
Eclipse incubation
project
—
Sponsored by Cisco
—
http://www.eclipse.org
/tigerstripe/
—
Complex model
driven engineering
under version control
—
Automated Interface
Code Generation
using Tigerstripe
Generators
Practical Model Driven Engineering
SID modelled in Rational RSMOSS
OSS
OSS
Model based interface generation
• Spec
• RI
• CTK
• Implementation Libraries
Interface model directly
derived from the SID
Same framework for all interfaces
• Can be extended to new managed
technologies (Modelling: 3G, Ethernet etc)
• Can be extended to different management
technologies (WSDL, JAVA, etc)
• Can be offered to other standards
organisations (ITU-T, 3GPP etc)
• Can be used internally by SP’s, SI’s,
Equipment vendors
Interface Implementation Interface Specification Interface API (Like OSS/J)Interface Operations
added in Tigerstripe
slide - 15 © Craig Gallen 2009
Interface Library Structure
Java interface plugin WSDL interface plugin Other interface plugin
Interface Service Library
Interface Library API Java client plugin WSDL client plugin Other client plugin
Client Service Library Client Library API TIP Java Profile API TIP WSDL Profile XSD’s Other Profile im p le m e n ts RI Implementation Mapping To Service OSS CTK Implementation Mapping To Client OSS im p le m e n ts implements implements TIP Interface profiles subject to standardisation in org.tmforum namespace Implementation library API’s created by implementation project in org.openoss namespace
CTK implementation uses Junit test calls against client service
API
Plugins implement standardised interfaces using a common
service API
RI implements persistence and interface specific behaviour for
tests
Real OSS can implement TIP by using library API
Real Client can implement TIP using library API
e n t i m O S S
Open · Community · Solutions
Meeting NGCOR Requirements for
Fault Management
slide - 17 © Craig Gallen 2009
Resource Alarm Management
•
TIP Resource Alarm Management
—
Designed to comply with NGCOR FM Requirements
—
See TR184-A Version 1.3 NGCOR Fault Management Requirements Mapping
(Marc Flauw HP)
•
What Is Addressed
—
Transport
–
Common message exchange patterns
–
Specification; documentation and WSDL
–
RI and CTK for compliance testing
—
Proof points of Interoperability
–
Catalysts show first level of interoperability against simple captive network scenario
•
What is Not addressed
—
Deployment context in production environment
–
Where will the interface be used and between what systems
–
Migration and deployment strategy
–
What profile of the interface
–
Semantics of common alarms
–
Correlation rules
–
Interaction with network inventory
—
Non functional requirements
–
Addressing and naming conventions
–
Failover scenarios,
Working Example Catalyst 2012
Alarm Management for Converged Networks Using RAM Interface
CTK
Implementation
Comarch
IBM
SaskTel
RI
Implementation
TEOCO
BOCO
OpenNMS
TIP WSDL Profile XSD’s implements implements
HP
servers
clients
sponsors
Resource Alarm
Management
(RAM) Interface
Sponsors
slide - 19 © Craig Gallen 2009
Using Generated Implementation Libraries
WSDL interface plugin
Interface Service Library
Interface Library API TIP WSDL Profile XSD’s Mapping To Service OSS
CTK Implementation
im p le m e n ts implements implementsOpenNMS implements RAM by using library API
Comarch
IBM
SaskTel
Simulated network
CTK implements RAM by using library API
WSDL interface plugin Interface Client Library
Alarm Interface
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getResourceAlarmsResponse xmlns="http://www.tmforum.org/xml/tip/internal/iterator" <startIndex>0</startIndex> <endIndex>5</endIndex> <endOfSequence>false</endOfSequence> <ns2:objects> <ns2:result> <ns2:item> <ns2:alarmId>37100</ns2:alarmId> <ns2:alarmType>EQUIPMENT_ALARM</ns2:alarmType> <ns2:perceivedSeverity>WARNING</ns2:perceivedSeverity> <ns2:probableCause>EXTERNAL_ALARM:LOW BATTERY</ns2:probableCause> <ns2:specificProblem>EXTERNAL_ALARM:LOW BATTERY</ns2:specificProblem> <ns2:managedObjectClass>CELL</ns2:managedObjectClass> <ns2:alarmRaisedTime>2012-05-18T12:55:38.000+01:00</ns2:alarmRaisedTime><ns2:additionalText>EXTERNAL_ALARM:LOW BATTERY alarm raised on node NK00803</ns2:additionalText> <ns2:managedObjectInstance> <ns6:dn> <ns6:valuePairs> <ns6:nameValuePairs> <ns6:item> <ns6:name>managedobjectinstance</ns6:name> <ns6:value>NK00803</ns6:value> </ns6:item> </ns6:nameValuePairs> </ns6:valuePairs>
<ns6:scheme>OpenNMS Resource DN Scheme</ns6:scheme> </ns6:dn>
<ns6:entityType>CELL</ns6:entityType> </ns2:managedObjectInstance>
slide - 21 © Craig Gallen 2009
Summary Benefits
Model driven design
Specification easy to maintain
Direct alignment with SID
Open Source Tooling
No lock in
Adaptable to other standards / interface profiles
RAM Catalyst
Test Suit is freely available
RAM Compatibility Test Kit
Libraries are available to help with implementation
OpenNMS RAM implementation (free)
Project Summary / Getting Involved
•
Governance
—
See
http://sourceforge.net/apps/mediawiki/openoss/index.php?title=TIP_Project_Governance
—
Project Charter Approved May 2009
—
Contributors Agreements – TM Forum Member and Non Member
– Signed by HP, Telcordia, Deutsche Telekom, OpenNMS (Others progressing through legal).
—
Liaisons being sought with other standards organizations
•
License
—
Apache 2
http://www.apache.org/licenses/LICENSE-2.0.html
—
Business Friendly – ‘non viral’
•
Public Sourceforge Site:
http://openoss.sourceforge.net/
•
TM Forum Interface program community
http://www.tmforum.org/community/groups/interface_program/default.aspx
•
Mail lists:
http://sourceforge.net/mail/?group_id=122678
—
openoss-devel, openoss-announce, openoss-user
•
Technical Getting started:
http://sourceforge.net/apps/mediawiki/openoss/index.php?title=Getting_Started
•
Contribution
—
Participation is open to TM Forum Members, Non Members and Individuals
—
If you want to participate in active code development you must sign the
–
External Contributors agreement
–
or TM Forum Member Contributors agreement
—
http://sourceforge.net/apps/mediawiki/openoss/index.php?title=TIP_Project_Governance
•
For more information contact Craig Gallen
—
© Craig Gallen 2011
e n t i m O S S
Open · Community · Solutions
Thank you for listening
Any Questions?
e n t i m O S S
Open · Community · Solutions
slide - 25 © Craig Gallen 2009
Timeline of Visibility
jar pom.xml Java Implementation Projects jar pom.xml jar pom.xmlBase Classes and Hand Written Code
SID modelled in Rational
RSM
SID Import Plugin
Java Implementation Plugind zip WSDL Plugin zip Documentation Plugin zip
TIP Model Project
Stage 1 Write Business
Agreement (requirements)
Stage 2
Model Interface in SID Add Interface Generation
Stereotypes Export to Tigerstripe
model
Stage 3
Create Open Source Generation Environment
and import Tigerstripe Model
Stage 4
Package & Release Approved Specification and Documentation Stage 5 Develop RI Develop CTK TM Forum Packaged Distribution Specification & Documentation TM Forum Packaged Distribution RI CTK Libraries document
Only Visible to TM Forum Members Open Source Environment
signed artefacts for TM Forum Distribution signed artefacts for TM Forum Distribution Requirements & Modelling Activities Interface Generation & Packaging Development
slide - 27 © Craig Gallen 2009
Infrastructure: Generic Specification
Build Process
Project
Website
Project
Maven 2
Public
Repo
Eclipse Tigerstripe
Workspace
TIP Model Project
Soap_Package Project jar pom.xml
jar
pom.xmlzip
doc Generated Project websiteTransitory
Jar in local
repository
Maven 2 Maven 2 TIP_Soap_Generator zip Doc_Package Project jar pom.xml Maven 2 TIP_Doc Generator zip Java_Spec Package Project jar pom.xml Maven 2Java JvtSpec_Generator zip
Infrastructure: Generic
Implementation Build Process
Project Website Project Maven 2 Public Repo Generated Project website Transitory Jar in local repository
jar
pom.xml Maven 2 Java Implementation Project Eclipse Tigerstripe WorkspaceTIP Model Project
Maven 2 Java Implementation Plugin zip
jar
pom.xmljar
pom.xmlProject Maven 2 Public Repo
Java_Spec Maven Jar
jar
pom.xml
XML_Spec Maven Jar
CTK, RI, Libraries Standard Models zip
Standard Models zip Project Website
Ideally also packaged For automatic download OR as Subversion checkout
jar
pom.xml
Base Classes and Hand Written Code
slide - 29 © Craig Gallen 2009
JOSIF Sourceforge.net Site
•
Project Site
—
news
—
guidebook
—
getting started
—
documentation
—
model to wsdl mappings
—
bug tracker
—
presentations
•
Mail lists
—
openoss-announce
—
openoss-devel
—
openoss-user
The OpenNMS Project
•
OpenNMS is the world's first
Enterprise and Carrier grade
network
management
platform
developed
under the
open source model
.
•
Technology
—
Written in Java
—
Packaged for Windows, Linux and most
Unix distributions
—
Proven scalability
–
300,000 data points every 5 minutes
–
automatically discover core nodes with
5000+ interfaces
•
Websites
—
www.opennms.org
—
http://sourceforge.net/projects/opennms/
Juniper Networks embed the
OpenNMS platform within
slide - 31 © Craig Gallen 2009
Wide variety of commercial users
•
Papa Johns Pizza
http://www.papajohns.com/
•
Minnesota Children's Hospital
http://www.childrensmn.org/
•
Oregon State University
http://oregonstate.edu
•
Permanente Medical Group
www.permanente.net
•
Myspace
www.myspace.com
•
Ocado
www.ocado.com
•
FreshDirect
http://www.freshdirect.com
•
Fox TV (Australia)
http://www.foxtel.com.au
•
BBC Monitoring
www.monitor.bbc.co.uk
•
FastSearch
http://www.fastsearch.com/
•
New Edge Networks
http://www.newedgenetworks.com/
•
Rackspace
http://www.rackspace.com
•
Swisscom Eurospot
http://www.swisscom-eurospot.com
•
Wind Telecomunicazioni SpA (Italy)
http://www.wind.it
•
Sophos Antivirus
http://www.sophos.com
•
BT
www.bt.co.uk
Community and Governance
•
User community
—
There are around 1000 people subscribed to the discuss list, but
when I (Tarus Balog) teach classes I find that less than 10% of
the people in the class actually use the discuss list, so my guess
is that the active user community is probable closer to 10,000
people.
•
Developer Community
—
We have 35 developers with commit access to the repository.
•
Assets
—
Licence GPL
—
The IPR is owned by The OpenNMS Group, Inc.
—
OpenNMS Trademark owned by The OpenNMS Group
•
Governance
—
The community is managed by The Order of the Green Polo.
—
All active OGP members have a vote on the direction of the
project, but there is no charter and no one restricts what can and
can't go into OpenNMS, as long as it is good.
—
For example, the OTRS integration that Jonathin Sartin
(Ocado/Truephone) did was pretty much on his own.
—
OpenNMS Developer Conference
•
Foundation
—
OpenNMS Europe foundation
established this year
—
OpenNMS European user conference
– http://www.opennms.eu