Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
736 views

Introduction To Opennms

OpenNMS is the world's first Enterprise and Carrier grade network management platform developed under the open source model. It is Written in Java and is Packaged for windows, Linux and most Unix distributions. Wide community of commercial users - 4000 downloads per month Opennms history We've been around since 1999 and were registered on Sourceforge in March of 2000.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
736 views

Introduction To Opennms

OpenNMS is the world's first Enterprise and Carrier grade network management platform developed under the open source model. It is Written in Java and is Packaged for windows, Linux and most Unix distributions. Wide community of commercial users - 4000 downloads per month Opennms history We've been around since 1999 and were registered on Sourceforge in March of 2000.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

entimOSS

Open Community Solutions

OpenNMS Overview
Dr Craig Gallen EngD C.Eng MBA
entimOSS Limited 6 Burnett Close Bitterne Park Southampton Hampshire England SO18 1JD Email Mobile : craig.gallen@entimoss.com : cgallen@opennms.org : +44 (0) 7789 938012 The OpenNMS Group, Inc. 220 Chatham Business Drive Pittsboro NC 27312 United States

e-mail sales@opennms.com www.opennms.com Phone: +1 919-533-0160 Fax: +1 503-961-7746

Craig Gallen 2009

Agenda
1. OpenNMS Project Overview
Opennms.org Active community size and members Governance Opennms.com (OpenNMS Group Inc) Organisational overview Business model Market propositions

2. OpenNMS Functional Overview


Problem Management Fault discovery and escallation SLA management Performance data collection, SLA event Thresholding Data visualisation System Architecture Core modules and frameworks used

3. Future directions
Most active areas of code development Working with Telecommunications Industry

Craig Gallen 2009

slide - 1

The OpenNMS Project


OpenNMS
Open Network Management System 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/
Craig Gallen 2009 slide - 2

Wide community 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 And many more - 4000 downloads per month

Craig Gallen 2009

slide - 3

OpenNMS history

We've been around since 1999 and were registered on Sourceforge in March of 2000 (by comparison NetSaint, the first name of Nagios, was registered just two months earlier).
Mar /April 2000 OpenNMS Announced & Code released 10 OcuLAN employees 50 contributors

Product visibility

2009 over 100 OpenNMS group customers 4000 complete downloads / month 6 staff 35 core developers (OGP) Sept 2004 OpenNMS group lunched 3 staff 16 contributors

Jan 1999 Steve Gilles & Brian Weaver Prototype Bluebird Technology Trigger
Craig Gallen 2009

May 2002 OcuLAN forks OpenNMS Tarus Balog becomes Maintainer (Sortova Consulting) Trough of Disillusionment Open Source Product Maturity Slope of Enlightenment Plateau of Productivity
slide - 4

Peak of Inflated Expectation

Community and Governance

User community

Foundation
We would like to create a foundation separate to the OpenNMS Group when sponsorship is available to do so.

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

DEV-JAM Atlanta July 2008

Craig Gallen 2009

slide - 5

Opennms.com OpenNMS Group Inc



Mission
The OpenNMS Group is a services company dedicated to promoting the OpenNMS Project.

Market Proposition
The main market proposition is that Network Management Platforms are expensive to buy and even more expensive to deploy. The open source nature of OpenNMS allows one to get rid of the software licensing cost associated with solutions and since it is more flexible it can also reduce deployment time while providing more custom functionality (i.e. the solution can be made to fit the business and not the other way around).

Revenue Sources
Revenues are based on support subscriptions, custom development, consulting and training (in that order).

OpenNMS Group
Privately owned Tarus Balog - CEO David Hustace President Matt Brozowski CTO (Chief Architect) Benjamin Reed Infrastructure and packaging Jeff Gehlbach Customer Service

Preferred strategic business models


In country partner for delivery e.g.; Antonio Russo http://www.opennms.it Craig Gallen www.entimoss.com Package solution for Equipment vendors OpenNMS Group provide 2nd / 3rd level support

Craig Gallen 2009

slide - 6

entimOSS
Open Community Solutions

OpenNMS Functional Overview

Craig Gallen 2009

Problem Management Work Flow



Event Collection
OpenNMS can record all event occurrences 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. 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. 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 implementations, RT and OTRS.
slide - 8

Alarm Correlation

User Notifications and scheduled escalation

Trouble ticket integration

Craig Gallen 2009

Performance and 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. 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. 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

Data visualisation

Service Quality Management

Craig Gallen 2009

slide - 9

Configuration Management & Integration

Unified Configuration
All OpenNMS configuration is via a set of XML files contained within one directory. Many of these configurations are also exposed through the user interface. Configuration includes scan rates, Trap to event/alarm mapping, Mib management etc.

Network Discovery
Given an IP address range, OpenNMS can self discover the elements and services in a network. OpenNMS automatically associates ports with nodes. The default naming of a node in the database will be populated with the name of the device discovered by an SNMP scan of the device.

Trouble Ticketing System

CMDB/ Inventory

Attach Alarms to Trouble Tickets

Export / Import Inventory

Configuration Interfaces
An external event driven XML interface can also be used to populate and change the Network Inventory. This interface is used by Swisscom to synchronise OpenNMS with their expanding European Wifi hotspot network.

OpenNMS
Discover and poll network
TX

Receive traps / events


TX

Integration
Numerous points of integration for paging, alarm bells, email or trouble tickets

Network
TX TX TX

Craig Gallen 2009

slide - 10

OpenNMS Architecture
External Integration Interfaces Tomcat or Jetty JSP container JSPs Spring MVC ***Gwt Google Windows Toolkit JfreeChart Java Web Start (distributed Poller) Jrobin (graphs) OpenNMS Web Client External Interfaces XML RPC Daemon ***ticketd:Trouble Ticket Interface scriptd: Scripts run by events **qosd: OSS/J Server interface Correlation / Workflow ***Drools Correlation Manager notifd: Notifications Manager vacuumd: Database Automations Controller: OpenNMS Process controller translator: Event Translation threshd: Perf Threshold Mgr. *** July 2007 ** Dec 2006 July 2006 Acegi Security

Web Client accesses DAOs

eventd: Event Handler / Registration / Broadcasting *Spring Wiring / Data Access Objects (Spring Framework) discovery: Discover new nodes linkd: Link Topology discovery Distributed Polling collectd: Perf data collection trapd: SNMP Trap Receiver capsd: Node capability scanner syslogd: SYSLOg parsing **qosdrx: OSS/J Client Interface Castor XML *Hibernate ORM JDBC ORM

JMX collector

Jrobin RRD Files

Log4J

/etc/*.XML config

PostgreSQL Db

Log Files

Network Management Interfaces


Craig Gallen 2009

JMX Mbeans

Persistence OpenNMS Server


slide - 11

OpenNMS Extension Points



Service Detector API
detection of services (Capsd Plugin API being deprecated) Java Interface (org.opennms.netmgt.provision.ServiceDetector.java)

Service Monitor API


Poller Plugin API for monitoring detected services Java Interface (org.opennms.netmgt.poller.ServiceMonitor.java)

Service Collector API


Collectd Plugin API for creating performance data collectors Java Interface (org.opennms.netmgt.collectd.ServiceCollector.java)

Service Thresholder API


Plugin API for creating Thresholders of detected services Java Interface (org.opennms.netmgt.threshd.ServiceThresholder.java)

Notification Strategy API


Plugin API for creating new notification methods Java Interface (org.opennms.netmgt.notifd.NotificationStrategy.java)

Acknowledgment Reader API


Plugin API for reading replies to notifications) Java Interface (org.opennms.netmgt.ackd.AckReader.java)

Provision Adapter API


Plugin API for integrating CMS, EMS, Inventory systems, etc Java Interface (org.opennms.netmgt.provision.ProvisioningAdapter.java)

Craig Gallen 2009

slide - 12

OpenNMS: Core
Interprocess Communications, Example
Eventd
Publish/Subscribe Event Bus

Discovery

Vacuumd

Threshd

Collectd

Service Daemons

1 - ICMP Echo Reply 2 - New Suspect Event 3 - SNMP Reply 4 - Node Gained Service Event (SNMP) 5 - SNMP Poll Failure 6 - Node Lost Service Event (SNMP) 7 - Alarm Escalated Event 8 - Create Ticket Event
Craig Gallen 2009 slide - 13

Ticketd

Alarmd

Capsd

Notifd

Poller

Leveraging Other Projects


Application Build System Frameworks
Build & Dependency Management Code Management IDE tools

Application Specific Code


Bug Management Continuous Integration Test Driven Development

Maven

Subversion

Eclipse

Bugzilla

CruiseControl

Junit Mock Objects

Application Frameworks (example: Spring www.springframework.org)


AOP ORM/DAO JEE WEB

Sub Frameworks
Spring AOP Hibernate JDBC JMX JMS EJBs
Spring Portlet MVC Spring Web MVC

Jasper Reports

Many Component Dependencies


- Ant 1.6.5 (http://ant.apache.org ) - ANTLR 2.7.6 (http://www.antlr.org ) - AOP Alliance 1.0 (http://aopalliance.sourceforge.net ) - ObjectWeb ASM 2.2.3 (http://asm.objectweb.org ) - AspectJ 1.5.3 (http://www.aspectj.org ) - Apache Axis 1.4 (http://ws.apache.org/axis ) - BeanShell 2.0 beta 4 (http://www.beanshell.org ) - C3P0 0.9.1.1 connection pool (http://sourceforge.net/projects/c3p0 ) - Hessian/Burlap 3.0.20 (http://www.caucho.com/hessian ) - CGLIB 2.1_3 with ObjectWeb ASM 1.5.3 (http://cglib.sourceforge.net ) - CommonJ TimerManager and WorkManager API 1.1 (http://dev2dev.bea.com/wlplatform/commonj/twm.html ) - JSR-166 http://dcl.mathcs.emory.edu/util/backport-util-concurrent ) - Jason Hunter's COS 05Nov02 (http://www.servlets.com/cos ) - DOM4J 1.6.1 XML parser (http://www.dom4j.org ) -EasyMock 1.2 (JDK 1.3 version) (http://www.easymock.org) -- EasyMock 1.2 (JDK 1.3 version) (http://www.easymock.org) -- EHCache 1.2.4 (http://ehcache.sourceforge.net ) -- FreeMarker 2.3.10 (http://www.freemarker.org ) -- GlassFish ClassLoader API extract (http://glassfish.dev.java.net ) -- Groovy 1.0 final (http://groovy.codehaus.org ) -- Hibernate 2.1.8 (http://www.hibernate.org ) -- HSQLDB 1.8.0.1 (http://hsqldb.sourceforge.net ) -- iBATIS SQL Maps 2.3.0 b677 (http://ibatis.apache.org ) -- iText PDF 1.4.8 (http://www.lowagie.com/itext )

- JavaBeans Activation Framework http://java.sun.com/products/javabeans/glasgow/jaf.html ) - J2EE Connector Architecture 1.5 (http://java.sun.com/j2ee/connector ) - JAX-RPC API 1.1 (http://java.sun.com/xml/jaxrpc ) - Java Message Service API 1.1 (java.sun.com/products/jms ) - JSP API 2.0 (http://java.sun.com/products/jsp ) - JSP Standard Tag Library API 1.1 (http://java.sun.com/products/jstl ) - Java Transaction API 1.0.1b (http://java.sun.com/products/jta ) - JavaMail 1.3.2 (http://java.sun.com/products/javamail ) - JDBC RowSet Implementations 1.0.1 (http://java.sun.com/products/jdbc ) - Servlet API 2.4 (http://java.sun.com/products/servlet ) - Commons Attributes 2.2 (http://jakarta.apache.org/commons/attributes ) - Commons BeanUtils 1.7 (http://jakarta.apache.org/commons/beanutils ) - Commons Collections 3.2 (http://jakarta.apache.org/commons/collections ) - Commons DBCP 1.2.2 (http://jakarta.apache.org/commons/dbcp ) - Commons Digester 1.6 (http://jakarta.apache.org/commons/digester ) - Commons Discovery 0.2 (http://jakarta.apache.org/commons/discovery ) - Commons FileUpload 1.2 (http://jakarta.apache.org/commons/fileupload ) - Commons HttpClient 3.0.1 (http://jakarta.apache.org/commons/httpclient ) - Commons IO 1.3.1 (http://jakarta.apache.org/commons/io ) - Commons Lang 2.2 (http://jakarta.apache.org/commons/lang ) - Commons Logging 1.1 (http://jakarta.apache.org/commons/logging ) - Commons Pool 1.3 (http://jakarta.apache.org/commons/pool ) - Commons Validator 1.1.4 (http://jakarta.apache.org/commons/validator ) - Jakarta's JSTL implementation 1.1.2 (http://jakarta.apache.org/taglibs ) - JAMon API (Java Application Monitor) 2.4 (http://www.jamonapi.com ) - JasperReports 1.3.3 (http://jasperreports.sourceforge.ne t)

JDO API 2.0 (http://db.apache.org/jdo ) JExcelApi 2.5.7 (http://jexcelapi.sourceforge.net ) JMX 1.2.1 reference implementation JMX Remote API 1.0.1 reference implementation JMXMP connector (from JMX Remote API 1.0.1 reference implementation) JOTM 2.0.10 (http://jotm.objectweb.org ) XAPool 1.5.0 (http://xapool.experlog.com, also included in JOTM ) Java Persistence API 1.0 (http://www.oracle.com/technology/products/ias/toplink/jpa ) JRuby 0.9.9 (http://jruby.codehaus.org ) JSF API 1.1 (http://java.sun.com/j2ee/javaserverfaces ) JUnit 3.8.1 (http://www.junit.org ) Log4J 1.2.14 (http://logging.apache.org/log4j ) Oracle OC4J ClassLoader API extract (http://www.oracle.com/technology/tech/java/oc4j ) OpenJPA 0.9.7 (http://incubator.apache.org/openjpa ) Jakarta ORO 2.0.8 (http://jakarta.apache.org/oro ) Apache POI 2.5.1 (http://jakarta.apache.org/poi ) Portlet API 1.0 (http://jcp.org/aboutJava/communityprocess/final/jsr168 ) QDox 1.5 (http://qdox.codehaus.org ) Quartz 1.6.0 (http://www.opensymphony.com/quartz ) Serp 1.12.1 (http://serp.sourceforge.net ) Apache Struts 1.2.9 (http://jakarta.apache.org/struts ) Apache Tomcat 5.5.23 (http://tomcat.apache.org ) Oracle TopLink 10.1.3 API (http://www.oracle.com/technology/products/ias/toplink ) Oracle TopLink Essentials (http://www.oracle.com/technology/products/ias/toplink/jpa ) Velocity 1.5 (http://jakarta.apache.org/velocity ) Velocity Tools 1.3 (http://jakarta.apache.org/velocity/tools )

Craig Gallen 2009

slide - 14

OpenNMS Simplified Service Model

Craig Gallen 2009

slide - 15

Event Management
Trigger, evaluation, action automations processing of alarm table Vacuumd Passive nodes are used to represent services or resources managed by another agent. The event translator and passive status deamon allow events to be mapped to these nodes event translator Passive Statusd Actiond Actiond is used to generate java actions based on events received. actiond is triggered by the "autoaction" tag on an event <autoaction> Scriptd similar to Actiond, generates external actions based on events. Xmlrpcd allows events to be sent from OpenNMS to a remote system via XMLRPC

Scriptd

Xmlrpcd

Eventd receives and writes all of the event information. The eventd process listens on port 5817, so other processes, even those external to OpenNMS, can send events to the system

eventd Threshd

Syslogd

trapd

Collectd

creates events when a performance metric exceeds preset values. High, Hi rearm, Low, Low rearm, Relative Change

allows OpenNMS to receive syslog datagrams


Craig Gallen 2009

Receives SNMP traps and maps into OpenNMS Events

Gathers and stores performance data

slide - 16

OpenNMS Event Processing


User/group notification Alarm Service Status Service Status

eventconf.xml

<event> <mask> <maskelement> <mename>id</mename> <mevalue>.1.3.6.1.4.1.9.9.70.2</mevalue> event </maskelement> <maskelement> <mename>generic</mename> <mevalue>6</mevalue> </maskelement> <maskelement> TRAP SYSLOG <mename>specific</mename> <mevalue>17</mevalue> </maskelement> </mask> <uei>http://uei.opennms.org/vendor/Cisco/traps/ciscoC3800SysAggregateStatusChange</uei> <event-label>CISCO-C3800-MIB defined trap event: ciscoC3800SysAggregateStatusChange</event-label> <descr>Notification that the aggregate status of a node has changed. </descr> <logmsg dest='logndisplay'><p>Cisco Event: C3900: Node Status has changed.</p></logmsg> <severity>Indeterminate</severity> <alarm-data reduction-key="%uei%:%dpname%:%nodeid%" alarm-type="1"/> </event>

Craig Gallen 2009

slide - 17

Event List

Craig Gallen 2009

slide - 18

User Notifications

OpenNMS uses notifications to make users aware of an event. Common notification methods are email and paging, but notification mechanisms also exist for
XMPP (Jabber, an instant messaging protocol), arbitrary external programs SNMP traps can be sent, and arbitrary HTTP GETs/POSTs can be made to a web site.

Scheduling on call
A notification can be sent to users, groups, or roles configured in OpenNMS, as well as to arbitrary email addresses, if needed. A delay can be introduced before sending a notification, and one or more escalations can be added in case a notification isn't acknowledged within a configurable period of time destination path specifies the "who", "when", and "how" of the notification

Craig Gallen 2009

slide - 19

Alarm List

Craig Gallen 2009

slide - 20

Alarm Detail

Craig Gallen 2009

slide - 21

Reports

capsd is responsible for discovering all the services to be monitored,


Citrix DHCP DNS Domino IIOP FTP General Purpose (script based) HTTP HTTPS ICMP IMAP JBOSS (JMX) JDBC JDBC Stored Procedure JSR160 K5 LDAP Microsoft Exchange MX4J Notes HTTP NSClient (Nagios Agent) NRPE (Nagios Remote Plugin Executor) NTP POP3 Radius SMB SMTP SNMP SSH TCP Windows Services (SNMP-based)

Craig Gallen 2009

slide - 22

Service Discovery
When using the Importer Service, the Discovery and Capsd services are disabled. Instead of ping sweeps by the Discovery service, OpenNMS is told about nodes and interfaces in an XML export from a provisioning system. suspect Node event Discoveryd If device supports SNMP, Capsd is responsible for discovering all the services to be monitored on a device Importer Service Linkd Linkd is layer 2 iso/osi model network topology discovery daemon.
.iso.org.dod.internet.mgmt.mib-2.ip.ipNetToMediaTable .iso.org.dod.internet.mgmt.mib-2.dot1dBridge.dot1dBase .iso.org.dod.internet.mgmt.mib-2.dot1dBridge.dot1dStp

Capsd sets up configuration for topology discovery, polling and data gathering based upon discovered services Gathers and stores data from various sources, including SNMP, JMX, HTTP and NSClient

capsd

Collectd

Discoveryd ICMP pings the prescribed device ranges to find new devices, it then passes a suspect node event to capsd for further processing

Pollerd

Handles all service polling and recording of response times using synthetic transactions

Craig Gallen 2009

slide - 23

Manual & External provisioning


Example Manual Provisioning

Automatic provisioning
Integration with RANCID (RANCID - Really Awesome New Cisco confIg Differ http://www.shrubbery.net/ rancid/ ) coming integration with Puppet http://reductivelabs.com/t rac/puppet

Example External provisioning XML

<this:model-import xmlns:this="http://www.example.org/model-import" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalLocation="http://www.example.org/model-import model-import.xsd" date-stamp="2006-03-09T00:03:09" foreign-source="matt:"> <this:node node-label="david" parent-node-label="apknd" foreign-id="4243"> <this:interface ip-addr="172.20.1.204" status="1" snmp-primary="S" descr="VPN interface"> <this:monitored-service service-name="ICMP"/> <this:monitored-service service-name="HTTP"/> </this:interface> <this:interface ip-addr="172.20.1.201" status="1" snmp-primary="P" descr="Management interface"> <this:monitored-service service-name="ICMP"/> <this:monitored-service service-name="SNMP"/> </this:interface> <this:category name="AC"/> <this:category name="UK"/> <this:category name="low"/> </this:node> <this:node node-label="djgregor" parent-node-label="apknd" foreign-id="4243"> <this:interface ip-addr="172.20.1.207" status="1" snmp-primary="S" descr="VPN interface"> <this:monitored-service service-name="ICMP"/> <this:monitored-service service-name="HTTP"/> </this:interface> <this:interface ip-addr="172.20.1.208" status="1" snmp-primary="P" descr="Management interface"> <this:monitored-service service-name="ICMP"/> <this:monitored-service service-name="SNMP"/> </this:interface> <this:category name="AC"/> <this:category name="UK"/> <this:category name="low"/> </this:node> </this:model-import>

Craig Gallen 2009

slide - 24

Maps uses Linkd to discover layer 2

Craig Gallen 2009

slide - 25

Remote Poller
Remote needs to ensure connectivity to central hosts

Remote Client
OpenNMS Remote Poller

Central Services

1. 2. 3.

Remote client downloads OpenNMS Remote Poller from OpenNMS using java web start OpenNMS Remote Poller polls central services using synthetic transactions Remote Poller sends results to OpenNMS OpenNMS
slide - 26

Craig Gallen 2009

Road Map Next Stable1.8: Q2-2009



Provisioning
New Provisioning architecture with massively parallel discovery of entity services and resources (SEDA)

AJAX Web-UI
Web-UI update for usability with large numbers of network and system entities under management

New Configuration Management API


RANCID Puppet

Improved Workflow
Alarm / Escalation etc

ReSTFul API
Can be accessed using web technologies; pearl, python etc PUT / GET

WMI
WMI / WBEM Extensions of service monitoring and performance management interfaces

User Access Control Lists (ACLs)d security at API / session level


Fine granularity of user control

Fewer required restarts


More on line configuration changes

Craig Gallen 2009

slide - 27

Road Map 2.0 - Q1 2010



runtime module management
OSGi Container (Spring DM) supporting automatic deploy/redeploy of OpenNMS modules and Web-UI components

Web-UI
Redesigned Web-UI with better Admin and User tools and Internationalization

System Management
Improved Self Manageability with more robust JMX support

Distribution
Distributable modules for horizontal scalability (1.8 maximizes vertical scalability)

Fault Tolerant Solutions NGOSS Compliant (TIP implementations)


http://www.tmforum.org/InterfaceProgram/5733/home.html

BPM and enhanced Correlation Enterprise Reporting

Craig Gallen 2009

slide - 28

Telemanagement Forum TIP Interface Implementation Program



Open source program lead by OpenNMS to deliver TIP standards Scope of Specification
Automated generation of
spec artefacts is relatively easy Standardized Specification

Core
<- Mapping -> <- Mapping ->
(Adapter) (Adapter)

Time to market

Server
(EMS x)

Client
(NMS)

Transport Protocol
(e.g. WS, SMTP, JMS, Corba)

Creating a sustainable
implementation and managing dependencies is a major headache for all parties

Standardized Specification

Implementation Library

Real Implementation
Mapping

Implementation Library

dependencies Library

Mapping Code (ISV) TIP Implementation Library (TMForum) Dependency Library (3rd Party projects / products)

dependencies Library

Mapping

Server

Transport Protocol
(e.g. WS, SMTP, JMS, Corba)

Client

Craig Gallen 2009

http://www.tmforum.org/InterfaceProgram/5733/home.html

slide - 29

entimOSS
Open Community Solutions

Thank you for listening Any Questions?

Craig Gallen 2009

entimOSS
Open Community Solutions

Backup
The Value of Open source Research directions

Craig Gallen 2009

OpenNMS market segmentation

OpenNMS is known to have customers and users in all layers of the telecoms industry Key Telecoms Users
Swisscom Manage European wide WIFI network Wind (Italy) IPTV infrastructure and core backbone
V Applications Layer, including contents packaging (e.g. Web design, on-line information services, broadcasting services, ecommerce etc)

Table 1 Example OpenNMS Users Within The Telecoms Industry Layer Model
Telecoms Industry Layer Model (Fransman, M. 2001)
Layer VI Activity Customers / Consuming OpenNMS User 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 Arqiva FastSearch http://www.fastsearch.com/

OpenNMS Application
Business Catering Public Hospital and University Monitoring network infrastructure Large provider of health plans in Northern California Community Video Content Hosting On-line retailer in the UK. Details Monitoring network infrastructure Monitoring network infrastructure

Sites:100 Services:2043 (Balog, T. 2007b) Distributed Pollers: 350 Monitoring network infrastructure (Sartin, J. 2005b) Monitoring Web sales application JMX application monitoring (Reilly, R. 2007) Integrated with Splunk www.splunk.com Monitoring DVB-T Transport Stream Analysers Monitoring network infrastructure Proof of concept for DVB-T Network Monitoring search engines

On-line retailer in New York Broadcaster Broadcaster Broadcaster Internet search services

IV

Navigation & Middleware Layer (e.g. browsers, portals, search engines, directory assistance, security, electronic payment, etc)

Increasingly replacing incumbents


e.g. HP Open views in Wind
III

Connectivity Layer (e.g. Internet access, Web hosting)

New Edge Networks http://www.newedgenetwork s.com/

IP VPN network provider

Rackspace http://www.rackspace.com TCP/IP INTERFACE II Network Layer (e.g. optical fibre network, mobile network, DSL local network, radio access network, Ethernet, frame relay, ISDN, ATM, etc) Swisscom Eurospot www.swisscomeurospot.com/

Managed Hosting

(Brunelli, M. 2005) (Balog, T. 2007b) Providing customer service stats Nodes: 12278 Interfaces: 67738 Services: 569188 (300,000 data points every five minutes) (Winslow, M. 2004) Nodes:200 (Balog, T. 2007b) Sites: 2373 Nodes: 4760 3 Interfaces: 50001 Services:61601 Monitoring Satellite services at Jodrell Bank Monitoring network infrastructure

monitoring European Wifi network

BT www.bt.com Opera Telecom http://www.operatelecom.co m/ TruePhone http://www.truphone.com/ Dell www.dell.com IBM www.ibm.com

Satellite data services SMS voting services for broadcasters SIP based Wifi mobile telephony provider Example using OpenNMS to manage Dell servers Example using OpenNMS to manage JMX

Monitoring network infrastructure Application Note (Giles, J. 2003)

Equipment & Software Layer (e.g. switches, transmission equipment, base stations, routers, servers, CPE, billing software etc)

Application Note: (Li, S. 2002)

Craig Gallen 2009

slide - 32

Removing Chinese Walls in NPI



New product Introduction Very costly for firms to understand users' needs deeply and well sticky information
Manufacturer cannot expect to get a solution right first time (von Hippel, E. 2001b) Product consultants used as front end to marketing - 'ethnographic' study of user needs (von Hippel, E. 2001b), How users apply OSS tools is often tacit knowledge - i.e. knowledge that they carry in their heads and is, therefore, difficult to access (Polanyi, M. 1967) Risk that solution meets the letter of the specification, but may still fail to appreciate the underlying requirements (Chapman, C. B. et al. 2003 p271 ff)

Service Provider

organizational boundary

OSS ISV Equipment Vendor

Operational User

R&D internal and external lines of communication Product Management R&D Technology Evaluation Product Management Marketing

Learning from prototypes


Looking at machine tools - process by which users and manufacturers learnt from using prototypes was more intentional than just 'trial and error'. Rather, users exhibited a form of complex pattern matching (which von Hippel termed 'Templating') (von Hippel, E. & Tyre, M. J. 1995)

Purchasing

Sales

Craig Gallen 2009

slide - 33

Open Source enables Network effects

OSS industry Network Effects


Each component depends on all other components Common interfaces allow components to be deployed High value components depend upon commodity functionality (e.g. data collection)

Open source interface capability


component component component component component component component

(Ghosh, R. A. 2005a) suggests that one approach to network effects is to try to abstract the network externalities from specific products by identifying the features of the technology that provides the network effect and ensuring that its use is not limited to one product or service. (Ghosh, R. A. 2005a) argues that to be successful this strategy requires reference implementations to augment - if not, perhaps, replace - the formal specification of the standard. When such a reference implementation is available under an open source licence, it may achieve the same economic effect as an open standard, even without the institutional processes of standard setting

Craig Gallen 2009

slide - 34

Open Source Manages Costs & Risk


Failure Risk non-Feasible solution area Opportunity Region Area of Incompetence

OpenOSS Catalyst
Y

COTS OSS Catalyst COTS OSS Trial Commercial COTS OSS Project

Risk Efficient Boundary X-Y

Feasible solution area Expected Cost

Craig Gallen 2009

slide - 35

BT Sponsored OpenOSS Catalyst 2005

Web Browser
IP Phone IP Phone

IP Phone Customers Customer Access NW

IP Phone Customers

IP Phone IP Phone IP Phone

WWW

IP Phone

NgN AS PM Portlet
Local Access NW

OTRS

OSS/J QoS PM Portlet OSS/J QoS PM API

VoIP Service Provider NW

Local Access NW

NGNAS PM API

VoIP Service Provider OSS

OSS/J TT API

Correlation

SIP Router

Router
Gateway Router

Router
Gateway Router

SIP Router

OSS/J QoS FM API OSS/J QoS FM Adaptor Agilent NgN AS

OSS/J QoS FM API OSS/J QoS FM/PM Adaptor OpenNMS

metro node

metro node

Network Emulator
Network Error simulator

Wholesale IP service provider NW

VoIP Overlay Network Proxy Server VoIP Customers Customer Edge Customer Edge Proxy Server VoIP Customers

*Note the scenario is simplified by not including management of the the Local Access NW

NIST Net Wholesale Network

BT, Vodafone, Agilent, C&W, Colt, Qinetiq Invocom, Cognizant University of Southampton, Budapest University (BUTE),
slide - 36

Craig Gallen 2009

OSS/J experimental interface


Linux Server OpenNMS 1 qosd JbossMQ OssDao Onms AlarmDao AlarmEventTopic 1 Qosdrx subscribes Alarm Event Topic AlarmEventTopic 2 AlarmEventTopic X Qosd Publishes to Alarm Event Topic Linux Server Jboss Client subscribes to Qosd events from Aggregated Alarm list Alarm Event Client

Further development done after Catalyst OSS/J interface


Subset of JSR 90 JVT and JMS messaging No query functionality yet Qos embedded into OpenNMS through Spring framework Allows hierarchy of OpenNMSs to share alarm lists

db

Linux Server OpenNMS 2 qosd AlarmEventTopic n Alarm Event RXn Alarm Event RX2 Alarm Event RX1 qosdrx qosd

Event Receiver Threads OssDao Onms AlarmDao OssDao Onms AlarmDao

db
Deployment Scenario : OpenNMS qosdrx daemon creates threads which subscribe to AlarmEvent Topics (JVT or XVT) and updates the OpenNMS alarm list

db
Linux Server

OpenNMS

Craig Gallen 2009

slide - 37

DVB-T Proof of Concept with Arqiva


Correlation and Root cause Analysis

Inference Engine UI
Model Creation Model View

Model Builder
Velocity ArgoUML

Network Model

XML Network Model built using UML

Resource status monitoring


OSS/J FM

Statewise Inference Engine


Portal UI

Rules
OSS/J FM

Model

FM portal
OSS/J FM

PM Portal
OSS/J PM

WebUI

A
OSS/J FM OSS/J PM

Alarms to correlator using OSS/J interface to OpenNMS

OpenNMS

B
Correlator sends new OSS/J alarms to OpenNMS

OSS/J FM

OSS/J FM

OSS/J PM

Site Manager Resource data mediation

www.sidonis.com statewise

OpenNMS
TX TX

TV Service Network
TX TX TX

Scanning Configuration

XML SNMP scanning model

SNMP scanning

Craig Gallen 2009

slide - 38

Functionality Addressed in PoC


Customer Mgt Product mgt
Customer Information Customer Information Management Management Customer Service / / Customer Service Account Problem Account Problem Resolution Resolution Customer Problems Customer Self Customer Self Management Management Customer Reports Customer QOS/ Customer QOS/ SLA Mgt SLA Mgt Customer Customer Billing Mgt Billing Mgt SLA violations

Customer Portal

Product / /Service Product Service Catalog Management Catalog Management

Product / Customer information and policy model

Customer Impacting Tickets

SLA & Report Manager

Integration infrastructure: bus technology/ middleware / business process management

Service Mgt

Service Service Inventory Mgt Inventory Mgt

Service information and policy model

SLA Mgt SLA Mgt Service Fault KPIs

Service Performance KPIs Service PM thresholds Service Service Performance Mgt Performance Mgt

Service Problem Service Problem Mgt Mgt

Service Impact Tickets Service Quality Service Quality Monitoring & Impact Monitoring & Impact Analysis Analysis Service Impacting problems Trouble Tickets from correlated alarms

Service Impact Prioritization Workforce allocation Policy Workforce Mgt Workforce Mgt Resource Problem Resource Problem Mgt Mgt

Service Performance Measurements

Resource Mgt

Trouble Ticket Manager


Resource Inventory Mgt Resource Inventory Mgt Network Resource information and policy model Resource Alarms

Network & Correlation Manager


Correlation & Root Correlation & Root Cause Analysis Cause Analysis Resource Status Resource Status Monitoring Monitoring PM Threshold alarms

Inventory Manager

Resource Performance Resource Performance Monitoring/ Monitoring/ Management Management

Resource Data Mediation Resource Data Mediation

(Based on TAM R2.0)

DVB-T Network Resources

Alarms

PM Data

Craig Gallen 2009

slide - 39

You might also like