OpenNMS
Encyclopedia
OpenNMS is an enterprise grade network monitoring
Network monitoring
The term network monitoring describes the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator in case of outages...

 and network management
Network management
Network management refers to the activities, methods, procedures, and tools that pertain to the operation, administration, maintenance, and provisioning of networked systems....

 platform developed under the free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 or open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 model. It consists of a community supported, free software project as well as a corporation, The OpenNMS Group, offering commercial services, training and support.

The goal is for OpenNMS to be a truly distributed, scalable management application platform for all aspects of the FCAPS
FCAPS
FCAPS is the ISO Telecommunications Management Network model and framework for network management. FCAPS is an acronym for fault, configuration, accounting, performance, security, the management categories into which the ISO model defines network management tasks...

 network management model while remaining 100% free and open source. Currently the focus is on Fault and Performance Management.

All code associated with the project is available under the GNU General Public License, version 3.

The OpenNMS Project is maintained by The Order of the Green Polo.

History

The OpenNMS Project was started in July, 1999 by Steve Giles, Brian Weaver and Luke Rindfuss and their company PlatformWorks. It was registered as project 4141 on Sourceforge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

 in March of 2000.

On September 28, 2000, PlatformWorks was acquired by Atipa, a Kansas City-based competitor to VA Linux Systems. In July of 2001, Atipa changed its name to Oculan.

In September of 2002, Oculan decided to stop supporting the OpenNMS project. Tarus Balog
Tarus Balog
Tarus Balog is the CEO of the OpenNMS Group. He is the current maintainer of the OpenNMS open source network management project.- Interviews :* FLOSS Weekly 15: Tarus Balog of OpenNMS, the FLOSS Weekly podcast, for November 10, 2006.- Articles :...

, then an Oculan employee, left the company to continue to focus on the project.

In September of 2004, The OpenNMS Group was started by Balog, Matt Brozowski and David Hustace to provide a commercial services and support business around the project. Shortly after that, The Order of the Green Polo (OGP) was founded to manage the OpenNMS Project itself. While many members of the OGP are also employees of The OpenNMS Group, it remains a separate organization.

Platform Support and Requirements

OpenNMS is written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, and thus can run on any platform with support for a Java SDK version 1.5 or higher. Precompiled binaries are available for most Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 distributions, Windows, Solaris
Solaris
- Fiction :* Solaris , a 1961 science fiction novel by Stanisław Lem** Solaris , directed by B. Nirenburg** Solaris , directed by Andrei Tarkovsky** Solaris , directed by Steven Soderbergh...

 and Mac OS X.

In addition to Java, it requires the PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

 database, although work is being done to make the application database independent by leveraging the Hibernate
Hibernate (Java)
Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...

 project.

Features

OpenNMS describes itself as a "network management application platform". While useful when first installed, the software was designed to be highly customizable in order to work in a wide variety of network environments.

There are four main functional areas of OpenNMS.

Event Management and Notifications

OpenNMS is based around a "publish and subscribe
Publish/subscribe
Publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers. Published messages are characterized into classes, without knowledge of what, if any, subscribers there may be...

" message bus. Processes within the software can publish events, and other processes can subscribe to them. In addition, OpenNMS can receive events in the form of SNMP Traps, Syslog
Syslog
Syslog is a standard for computer data logging. It allows separation of the software that generates messages from the system that stores them and the software that reports and analyzes them...

 messages, TL/1
Transaction Language 1
Transaction Language 1 is a widely used management protocol in telecommunications. It is a cross-vendor, cross-technology man-machine language, and is widely used to manage optical and broadband access infrastructure in North America. TL1 is used in the input and output messages that pass between...

 events or custom messages sent as XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 to port 5817.

Events can be configured to generate alarms. While events represent a history of information from the network, alarms can be used to create correlation workflow (resolving "down" alarms when matching "up" alarms are created) and performing "event reduction" by representing multiple, identical events as a single alarm with a counter. Alarms can also generate events of their own, such as when an alarm is escalated in severity. Alarms are designed to be cleared and removed from the system over time, unlike events which can persist as long as desired.

The Alarm subsystem can also integrate with a variety of trouble ticketing systems, such as Request Tracker
Request Tracker
Request Tracker, commonly abbreviated to RT, is a ticket-tracking system written in Perl used to coordinate tasks and manage requests among a community of users. RT's first release in 1996 was written by Jesse Vincent, who later formed Best Practical Solutions LLC to distribute, develop, and...

, OTRS
OTRS
OTRS, an initialism for Open-source Ticket Request System, is a free and open-source trouble ticket system software package that a company, organization, or other entity can use to assign tickets to incoming queries and track further communications about them...

, Jira
JIRA
Jira may refer to:* JIRA, software-engineering package* Journal of Iranian Research and Analysis* Jira, also known as Zilla, fictional character* Jira * Jira...

, Quickbase and Concursive.

The software also contains an Event Translator where incoming events can be augmented with additional data (such as the impact to customers) and turned into new events.

Events can generate notifications via e-mail, SMS
SMS
SMS is a form of text messaging communication on phones and mobile phones. The terms SMS or sms may also refer to:- Computer hardware :...

, XMPP and custom notification methods.

OpenNMS has been shown to be able to process 125,000 syslog messages per minute, continuously.

Discovery and Provisioning

OpenNMS contains an advanced provisioning system for adding devices to the management system. This process can occur automatically by submitting a list or range of IP addresses to the system (both IPv4
IPv4
Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet...

 and IPv6
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

). Devices can also be expressly added to the system, as well as a combination of the two.

The underlying technology for this configuration is XML, so users can either use the web-based user interface or they can automate the process by scripting the creation of the XML configuration files.

The provisioning system contains adapters to integrate with other processes within the application as well as external software, such as a Dynamic DNS
Dynamic DNS
Dynamic DNS or DDNS is a term used for the updating in real time of Internet Domain Name System name servers to keep up to date the active DNS configuration of their configured hostnames, addresses and other information....

 server and RANCID.

The provisioning process is asynchronous for scalability, and has been shown to provision networks of more than 50,000 discrete devices as well as networks of single devices with over 200,000 virtual interfaces, each (Juniper E320).

Service Monitoring

The service assurance
Service assurance
Service assurance, in telecommunications, is the application of policies and processes by a Communications Service Provider to ensure that services offered over networks meet a pre-defined service quality level for an optimal subscriber experience....

 features of OpenNMS allow for the availability of network-based services to be determined. The types of monitors span from the very simple (ICMP
Internet Control Message Protocol
The Internet Control Message Protocol is one of the core protocols of the Internet Protocol Suite. It is chiefly used by the operating systems of networked computers to send error messages indicating, for example, that a requested service is not available or that a host or router could not be...

 pings, TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

 port checks) to the complex (Page Sequence Monitoring, Mail Transport Monitor). Outage information is stored in the database and can be used to generate availability reports.

In addition to being able to monitor network services from the point of view of the OpenNMS server, remote pollers can be deployed to measure availability from distant locations.

Papa John's Pizza
Papa John's Pizza
Papa John's Pizza is the third largest take-out and delivery pizza restaurant chain in the United States, behind Pizza Hut and Domino's Pizza. It is based in Louisville, Kentucky. Papa John's slogan is "Better Ingredients. Better pizza. Papa John's"...

 uses the OpenNMS remote poller software in each of its nearly 3000 retail stores to measure the availability of centralized network resources.

Data Collection

Performance data collection exists in OpenNMS for a number of network protocols including SNMP, HTTP, JMX, WMI
WMI
WMI may refer to:* Windows Management Instrumentation, in Microsoft Windows operating systems, a set of extensions to the Windows Driver Model* Waste Management, Inc, a provider of waste management services...

, XMP, XML, NSClient, and JDBC. Data can be collected, stored, graphed as well as checked against thresholds.

The process is highly scalable, and one instance of OpenNMS is collecting 1.2 million data points via SNMP every five minutes.

Additional Features

OpenNMS is accessed via a web-based user interface built on Jetty
Jetty (web server)
Jetty is a pure Java-based HTTP client/server, WebSocket client/server and servlet container developed as a free and open source project as part of the Eclipse Foundation...

. There is also an integration with JasperReports
JasperReports
Teodor Danciu began work on JasperReports in June 2001, the sf.net project was registered in September 2001 and JasperReports 0.1.5 was released on November 3, 2001.JasperReports Version 1.0 was released on July 21, 2005....

in order to create high level reports from the database as well as collected performance data.

Awards

  • 2010 Infoworld Best of Open Source (BOSSIE)
  • 2010 June, Sourceforge Project of the Month
  • 2009 Infoworld Best of Open Source (BOSSIE)
  • 2008 Techtarget Product Excellence Bronze Award in the Applications and network management category
  • 2007 Techtarget Product Excellence Gold Award in the Network and IT management platforms category , beating out HP OpenView and IBM Tivoli.
  • 2006 LinuxWorld Expo Product Excellence Award in the Systems Management Tools category.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK