June 16, 2016 | Author: Prasant Nag Kella | Category: N/A
entimOSS Open · Community · Solutions
OpenNMS Overview Dr Craig Gallen EngD C.Eng MBA
© Craig Gallen 2009
entimOSS Limited 6 Burnett Close Bitterne Park Southampton Hampshire England SO18 1JD
The OpenNMS Group, Inc. 220 Chatham Business Drive Pittsboro NC 27312 United States
Email
:
[email protected] :
[email protected]
e-mail
[email protected] www.opennms.com
Mobile
: +44 (0) 7789 938012
Phone: +1 919-533-0160 Fax: +1 503-961-7746
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
© Craig Gallen 2009
• • • • • • • • • • • • • •
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
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
Peak of Inflated Expectation
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
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.
•
Foundation — We would like to create a foundation separate to the OpenNMS Group when sponsorship is available to do so.
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.
© Craig Gallen 2009
DEV-JAM Atlanta July 2008
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 —
•
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 can record all event occurrences
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 implementations, RT and OTRS.
© Craig Gallen 2009
slide - 8
Performance and SLA Management •
Performance Data Collection and Management —
—
— —
•
Data visualisation — —
•
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.
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
© 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
Attach Alarms to Trouble Tickets
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.
CMDB/ Inventory
Export / Import Inventory
OpenNMS Discover and poll network
Receive traps / events
TX
•
Integration — Numerous points of integration for paging, alarm bells, email or trouble tickets
© Craig Gallen 2009
TX
Network TX TX TX
slide - 10
OpenNMS Architecture Spring MVC
***Gwt Google Windows Toolkit
Java Web Start (distributed Poller)
Acegi Security
JfreeChart
Jrobin (graphs)
Tomcat or Jetty JSP container
External Integration Interfaces
JSP’s
OpenNMS Web Client
Controller: OpenNMS Process controller
notifd: Notifications Manager
translator: Event Translation
***Drools Correlation Manager
vacuumd: Database Automations
Correlation / Workflow threshd: Perf Threshold Mgr.
XML RPC Daemon
scriptd: Scripts run by events
***ticketd:Trouble Ticket Interface
**qosd: OSS/J Server interface
External Interfaces
*** July 2007 ** Dec 2006 July 2006
Web Client accesses DAO’s
eventd: Event Handler / Registration / Broadcasting
Network Management Interfaces
Distributed Polling
JMX collector
syslogd: SYSLOg parsing
linkd: Link Topology discovery
capsd: Node capability scanner
collectd: Perf data collection
discovery: Discover new nodes
trapd: SNMP Trap Receiver
**qosdrx: OSS/J Client Interface
*Spring Wiring / Data Access Objects (Spring Framework) Castor XML
*Hibernate ORM
/etc/*.XML config
JMX Mbeans
JDBC ORM
PostgreSQL Db
Jrobin
Log4J
RRD Files
Log Files
Persistence OpenNMS Server
© Craig Gallen 2009
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
Ticketd
Alarmd
Notifd
Threshd
Collectd
Poller
Capsd
Service Daemons
Discovery
Eventd
Vacuumd
Publish/Subscribe Event Bus
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
Leveraging Other Projects Application
Application Specific Code
Build System Frameworks
Build & Dependency Management
Maven
Code Management
Subversion
IDE tools
Bug Management
Continuous Integration
Test Driven Development
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
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 )
© Craig Gallen 2009
Spring Portlet MVC
EJB’s
- 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)
Spring Web MVC
Jasper Reports
-
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 )
slide - 14
OpenNMS Simplified Service Model
© Craig Gallen 2009
slide - 15
Event Management Trigger, evaluation, action automations processing of alarm table
event Vacuumd
translator
Passive Actiond
Statusd
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
© Craig Gallen 2009
Actiond is used to generate java actions based on events received. actiond is triggered by the "autoaction" tag on an event Scriptd similar to Actiond, generates external actions based on events.
‘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
Scriptd
eventd Threshd
Syslogd
trapd
allows OpenNMS to receive syslog datagrams
Receives SNMP traps and maps into OpenNMS Events
Collectd
Gathers and stores performance data
Xmlrpcd allows events to be sent from OpenNMS to a remote system via XMLRPC
Xmlrpcd
creates events when a performance metric exceeds preset values. High, Hi rearm, Low, Low rearm, Relative Change
slide - 16
OpenNMS Event Processing
eventconf.xml
User/group notification
Alarm Service Status
Service Status
id .1.3.6.1.4.1.9.9.70.2 event generic 6 TRAP SYSLOG specific 17 http://uei.opennms.org/vendor/Cisco/traps/ciscoC3800SysAggregateStatusChange CISCO-C3800-MIB defined trap event: ciscoC3800SysAggregateStatusChange Notification that the aggregate status of a node has changed. Cisco Event: C3900: Node Status has changed. Indeterminate
© 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.
© Craig Gallen 2009
•
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
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, — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
© Craig Gallen 2009
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)
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.
Linkd
Importer Service
suspect Node event
© Craig Gallen 2009
.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
capsd
Collectd
Discoveryd
Discoveryd ICMP pings the prescribed device ranges to find new devices, it then passes a suspect node event to capsd for further processing
Linkd is layer 2 iso/osi model network topology discovery daemon.
Gathers and stores data from various sources, including SNMP, JMX, HTTP and NSClient
If device supports SNMP, Capsd is responsible for discovering all the services to be monitored on a device
Pollerd
Handles all service polling and recording of response times using synthetic transactions
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
© Craig Gallen 2009
slide - 24
Maps – uses Linkd to discover layer 2
© Craig Gallen 2009
slide - 25
Remote Poller
Remote Client
Remote needs to ensure connectivity to central hosts
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
© Craig Gallen 2009
slide - 26
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
Server
spec artefacts is relatively easy
(EMS x)
(Adapter)
Client (NMS)
Transport Protocol
• Creating a sustainable implementation and managing dependencies is a major headache for all parties
Standardized Specification
Transport Protocol (e.g. WS, SMTP, JMS, Corba)
http://www.tmforum.org/InterfaceProgram/5733/home.html
Mapping
Server
Implementation Library
Mapping Code (ISV) TIP Implementation Library (TMForum) Dependency Library (3rd Party projects / products)
© Craig Gallen 2009
(Adapter)
dependencies Library
—
(e.g. WS, SMTP, JMS, Corba)
Real Implementation — —
Core
dependencies Library
Time to market
•
• Automated generation of
Standardized Specification
Implementation Library
•
Open source program lead by OpenNMS to deliver TIP standards Scope of Specification
Mapping
•
Client
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
Table 1 Example OpenNMS Users Within The Telecoms Industry Layer Model Telecoms Industry Layer Model (Fransman, M. 2001) Layer
Activity
VI
Customers / Consuming
Key Telecoms Users — Swisscom – Manage European wide WIFI network — Wind (Italy) – IPTV infrastructure and core backbone
V
(e.g. Web design, on-line information services, broadcasting services, ecommerce etc)
IV
•
Navigation & Middleware Layer
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
Business Catering
Details Monitoring network infrastructure
Public Hospital and University
Monitoring network infrastructure
Monitoring network infrastructure Large provider of health plans in Northern California Community Video Content Hosting On-line retailer in the UK.
Sites:100 Services:2043 (Balog, T. 2007b) Distributed Pollers: 350 Monitoring network infrastructure
Broadcaster
(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
Broadcaster Internet search services
Proof of concept for DVB-T Network Monitoring search engines
New Edge Networks http://www.newedgenetwork s.com/
IP VPN network provider
Rackspace http://www.rackspace.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
Swisscom Eurospot www.swisscomeurospot.com/
monitoring European Wifi network
BT www.bt.com Opera Telecom http://www.operatelecom.co m/ TruePhone http://www.truphone.com/
Satellite data services
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/
On-line retailer in New York Broadcaster
(e.g. browsers, portals, search engines, directory assistance, security, electronic payment, etc)
Increasingly replacing incumbents — e.g. HP Open views in Wind
Applications Layer, including contents packaging
OpenNMS Application
III
Connectivity Layer (e.g. Internet access, Web hosting)
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)
I
© Craig Gallen 2009
Equipment & Software Layer (e.g. switches, transmission equipment, base stations, routers, servers, CPE, billing software etc)
Dell www.dell.com IBM
(Balog, T. 2007b) Sites: 2373 Nodes: 4760 3 Interfaces: 50001 Services:61601 Monitoring Satellite services at Jodrell Bank
SMS voting services for broadcasters
Monitoring network infrastructure
SIP based Wifi mobile telephony provider
Monitoring network infrastructure
Example using OpenNMS to manage Dell servers Example using OpenNMS to manage JMX
Application Note (Giles, J. 2003)
Application Note: (Li, S. 2002)
www.ibm.com
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)
•
Learning from prototypes
Service Provider
organizational boundary
Operational User
OSS ISV Equipment Vendor
R&D internal and external lines of communication Product Management R&D Technology Evaluation
Product Management Marketing
Purchasing
Sales
— 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) © 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)
•
(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.
Open source interface capability component component
component component component
• •
(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
component component
slide - 34
Open Source Manages Costs & Risk Failure Risk non-Feasible solution area Area of Incompetence
Opportunity Region
OpenOSS Catalyst Y
COTS OSS Catalyst COTS OSS Trial Commercial COTS OSS Project
Risk Efficient Boundary X-Y
X
Feasible solution area Expected Cost
© Craig Gallen 2009
slide - 35
BT Sponsored OpenOSS Catalyst 2005
Web Browser IP Phone
IP Phone Customers
IP Phone Customers Customer Access NW
IP Phone
IP Phone
WWW
IP Phone
IP Phone
IP Phone
NgN AS PM Portlet Local Access NW
VoIP Service Provider NW
SIP Router
Router
Router
Gateway Router
Gateway Router
metro node
Local Access NW
OTRS
NGNAS PM API
VoIP Service Provider OSS
OSS/J QoS PM Portlet
OSS/J TT API
OSS/J QoS PM API
Correlation OSS/J QoS FM API
SIP Router
OSS/J QoS FM Adaptor
OSS/J QoS FM API OSS/J QoS FM/PM Adaptor
Agilent NgN AS
OpenNMS
metro node
Network Emulator Network Error simulator
Wholesale IP service provider NW
*Note – the scenario is simplified by not including management of the the Local Access NW
VoIP Overlay Network Proxy Server VoIP Customers
Customer Edge
NIST Net
Customer Edge
Proxy Server VoIP Customers
Wholesale Network
• • •
BT, Vodafone, Agilent, C&W, Colt, Qinetiq Invocom, Cognizant University of Southampton, Budapest University (BUTE),
© Craig Gallen 2009
slide - 36
OSS/J experimental interface Linux Server
Linux Server
OpenNMS 1
Jboss
qosd
Client subscribes to Qosd events from Aggregated Alarm list
JbossMQ OssDao
Alarm Event Client
AlarmEventTopic X Qosd Publishes to Alarm Event Topic
•
Further development done after Catalyst
•
OSS/J interface
Onms AlarmDao
db
AlarmEventTopic 1 Qosdrx subscribes Alarm Event Topic AlarmEventTopic 2
Linux Server OpenNMS 2
AlarmEventTopic n
qosd
Alarm Event RXn
Alarm Event RX2
Event Receiver Threads
Alarm Event RX1
qosd
qosdrx
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
© Craig Gallen 2009
OssDao Onms AlarmDao
db
— Subset of JSR 90 JVT and JMS messaging — No query functionality yet — Qos embedded into OpenNMS through Spring framework — Allows hierarchy of OpenNMS’s to share alarm lists
OpenNMS
Linux Server
slide - 37
DVB-T Proof of Concept with Arqiva Correlation and Root cause Analysis
Model Creation
Network Model
Model Builder
Inference Engine UI Model View
Velocity
C
ArgoUML
XML Network Model built using UML
Resource status monitoring OSS/J FM
Statewise Inference Engine Portal UI
Rules
Model
FM portal
PM Portal OSS/J FM
OSS/J FM
WebUI
OSS/J PM
A OSS/J PM
OSS/J FM
Alarms to correlator using OSS/J interface to OpenNMS
OpenNMS
OSS/J FM
B Correlator sends new OSS/J alarms to OpenNMS
www.sidonis.com statewise
Site Manager Resource data mediation
OpenNMS TX
TV Service Network
TX
TX
Scanning Configuration
XML SNMP scanning model
TX TX
© Craig Gallen 2009
OSS/J PM
OSS/J FM
SNMP scanning
slide - 38
Customer CustomerService Service/ / Account AccountProblem Problem Resolution Resolution
Customer CustomerInformation Information Management Management
Product Product/ /Service Service Catalog CatalogManagement Management
Service Service Inventory InventoryMgt Mgt
SLA SLAMgt Mgt
Resource Mgt
Service Impact Tickets
Inventory Manager
Network Resource information and policy model
Service Service Performance PerformanceMgt Mgt
Service Impacting problems
Resource ResourceProblem Problem Mgt Mgt
Trouble Tickets from correlated alarms
Resource Alarms
Service Performance Measurements
Network & Correlation Manager
Trouble Ticket Manager Resource ResourceInventory InventoryMgt Mgt
Service PM thresholds
Service ServiceQuality Quality Monitoring Monitoring&&Impact Impact Analysis Analysis
Workforce allocation Policy Workforce WorkforceMgt Mgt
Service Performance KPI’s
Service Fault KPI’s
Service Impact Prioritization
SLA violations
SLA & Report Manager
Customer CustomerQOS/ QOS/ SLA SLAMgt Mgt
Service ServiceProblem Problem Mgt Mgt
Customer Portal
Customer Customer Billing BillingMgt Mgt
Customer Reports
Customer Impacting Tickets
Product / Customer information and policy model
Service information and policy model
Customer Problems
Customer CustomerSelf Self Management Management
Correlation Correlation&&Root Root Cause CauseAnalysis Analysis Resource ResourceStatus Status Monitoring Monitoring
PM Threshold alarms
Resource ResourcePerformance Performance Monitoring/ Monitoring/ Management Management
Integration infrastructure: bus technology/ middleware / business process management
Service Mgt
Customer Mgt Product mgt
Functionality Addressed in PoC
Resource ResourceData DataMediation Mediation
(Based on TAM R2.0)
© Craig Gallen 2009
DVB-T Network Resources
Alarms
PM Data
slide - 39