GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:


OpenNMS is an enterprise grade network management framework developed under the open source model. It consists of a community supported open-source project sponsored by a commercial services, training and support organization, The OpenNMS Group, Inc.

The goal is for OpenNMS to be a truly distributed, scalable platform supporting all aspects of the FCAPSnetwork management model as well as a framework for implementation of NGOSS components making OpenNMS a platform available to both open source and commercial applications.

All code associated with the project is available under the GNU General Public License (GPL).


  • Create an OpenNMS Android App The Android Client project proposed by OpenNMS is intended to offer the possibility of Android mobile users to maintain network management and monitoring of an unlimited amount of devices through their Android phone.
  • Integration of Flume and ElasticSearch to analyze big log data Logging plays an important role for analyzing problems in monitoring applications. The goal of this project is to distill this high value information out of a massive amount of heterogeneous logging messages. To reach this goal it's required to handle a massive amount of logging messages even from different systems and normalize them into a generic model. This model is the base for later analyze and efficient storage of logging messages.
  • Modify the Homepage to Be a Portal This project is to convert the panels on the OpenNMS homepage to be dynamic and personalizable by implementing using GWT. Presently there are a number of UI panels on the OpenNMS home page. This task would separate them into "portlets" and allow user-level customization of them.
  • Replace RRD with Cassandra as storage for collected performance data OpenNMS is an enterprise grade network management and application platform developed under the Open Source model. The system was designed and engineered to provide the ability to monitor tens of thousands to ultimately unlimited devices with a single instance. In the current implementation of OpenNMS data is stored using RRD-Tool which has several limitations such as the I/O bottleneck and inability to change configurations such as resolution after they are defined on creation time. The aim of this project is to provide solutions to these limitations and improve the scalability and performance of OpenNMS by replacing RRD with Cassandra which is a highly scalable NoSQL database.
  • rrdgraph emulation using d3.js The goal of the project is to create a foundation for more interactive graphs for OpenNMS by implementing a d3.js-based renderer for graphs defined using rrdgraph definitions (command line arguments).