Project of the Month, June 2005

By Community Team

Nagios Logo

Project Leader:

Name: Ethan GalstadEthan Galstad
Age: 31
Occupation or experience: Network administrator Education: B.S. in Computer Science, Unversity of Minnesota
Location: Saint Paul, Minn.

I would also like to recognize some of the key members from the Nagios plugin development (nagiosplug) team whose work is critical to the success of Nagios:
Subhendu Ghosh
Stanley Hopcroft
Ton Voon
Matthew Kent
Benoit Mortier

Quote about SourceForge.net?

SourceForge.net: Helping to accelerate the open source revolution.

Why did you place the project on SourceForge.net?

I moved Nagios (NetSaint at the time) to SourceForge shortly after the NetSaint Plugin project moved here. SourceForge was seen as the place to be for OSS project development.

How has SourceForge.net helped you?

Mailing lists, CVS repositories, and Web hosting have been invaluable in developing Nagios and sharing it with the community.

The number one benefit of using SourceForge.net is:

Easy access to resources that would otherwise be difficult to obtain and manage for small projects.

Project Name: Nagios (formerly NetSaint)
Founded / Started:
January 1999

URL: http://www.nagios.org/
Project page: https://sourceforge.net/projects/nagios/

Description of project:

Nagios is a powerful host and service monitoring program designed to run on most *NIX systems. It is written in C and designed to be fast and flexible. It has the ability to contact administrators via email, pager, or other user-defined methods.

Trove info:

  • Development Status: 5 – Production/Stable
  • Intended Audience: System Administrators
  • License: GNU General Public License (GPL)
  • Operating System: All POSIX
  • Programming Language: C
  • Topic: Monitoring
  • Translations: English
  • User Interface: Non-interactive (daemon)

Why and how did you get started?

In January 1999 I became interested in the idea of starting a company to provide network monitoring services to small businesses in my area. As part of my investigation into that venture, I took a look at several of the commercial, free, and open source monitoring tools that were available at the time. For various reasons, I wasn’t satisfied with what I found. The commercial tools were too expensive and lacked flexibility, while the free and open source tools lacked features that I was looking for. I decided to write my own monitoring tool to ensure it would meet my requirements. That was the catalyst that cause me to start developing Nagios.

What is the software’s intended audience?

Network and system admins who want to resolve problems before their supervisors and customers notice that there are problems.

How many people do you believe are using your software?

That’s hard to say, as there is no requirement to register Nagios. There are about 2,500 members on the nagios-users mailing list. There have been more than 150,000 downloads of Nagios 1.2 so far. I estimate at least 25,000 installations worldwide are running various versions of Nagios.

What are a couple of notable examples of how people are using yoursoftware?

Nagios has been used to monitor everything from citywide cable modem installations and CAD/CAM manufacturing processes to radio station broadcasts and Internet kiosks in underprivileged areas of the world.

What gave you an indication that your project was becoming successful?

When I started receiving more emails that contained support requests than spam or viruses! In all seriousness, a key indicator was the involvement of many skilled developers who took an interest in working on Nagios and related projects. People like Karl DeBisschop, Subhendu Ghosh, Stanley Hopcroft, Ton Voon, and others have played critical roles in the development of Nagios, the Nagios plugins and other key projects over time. Nagios wouldn’t be where it is today without them.

What has been your biggest surprise?

The incredible following that Nagios has received. I wasn’t sure that Nagios would be received well by the community when I first started out. I was sensitive about people criticizing my coding and nearly didn’t release it as an open source project. I was hoping that perhaps 20 or so people might find the project useful when I started. Today I’m still amazed by the size and growth of the Nagios user base.

What has been your biggest challenge?

The biggest challenge is trying to make Nagios work for everyone. Nagios can be used to monitor anywhere from a handful to a few thousand hosts and services, which can make scalability and usability a challenge. Also, many feature requests and patches never make it into the main code base, as they are heavily weighted towards a specific type of installation and wouldn’t work well for the general user base. While it can be challenging, finding a balance that works for most everyone is important. I want to ensure that Nagios still appeals to and works for a wide spectrum of users.

Why do you think your project has been so well-received?

Nagios has the right feature set to satisfy most people who are evaluating monitoring tools for their organization. It is flexible, it has some features that other open source monitoring tools lack, and it is available sans the hefty price tag of the big commercial tools.

Where do you see your project going?

Pieces of the main Nagios project will likely be spun off into seperate projects. As an example, the current CGI Web interface will be retired in Nagios 3.0. I’ll be working to ensure that other projects are in a position to provide PHP or Perl Web interfaces for Nagios when that happens. I also plan to extend the event broker API to allow for third-party modules to modify key portions of the monitoring and event logic present in the Nagios daemon. This should allow developers to extend the functionality of Nagios fairly easily, without having to modify the Nagios code itself.

What’s on your project wish list?

The native CGI interface will be dropped starting with version 3.0, so there will be a big need for developers to step up and either create new Web interfaces for Nagios or assist in the development of the alternative interface projects that are already underway. The existing Web interface leaves a lot of room for improvement in speed, UI design, internationalization, and reporting capabilities.

What are you most proud of?

Having the opportunity to work on a project that so many other people find useful. I have made use of many quality OSS projects myself and am extremely pleased to be able to give something useful back to the open source community.

How do you coordinate the project?

The main Nagios project doesn’t have any formal development and testing methodology. Bug reports, patches, and feature requests for the core program usually come through the nagios-devel mailing list. This allows others to comment on them before I take action (e.g. by committing patches to CVS, implementing a new feature request, or putting requests on the wishlist).

As far as regression testing is concerned, beta testers are my guinea pigs. In all seriousness, there is no formal testing process for Nagios. I examine and test the patches that come in to make sure they don’t do anything terrible, but some bugs always make it into the code. During the development of a new major release, there are often so many changes being made that its difficult to test everything thoroughly. If bugs don’t get caught up front, the alpha and beta testers usually discover and squash them. Because Nagios is used in so many different types of installations, bugs that might otherwise go unnoticed are often found quickly. That’s one of the many advantages of open source development.

Do you work on the project full-time, or do you have another job?

Nagios is a project that I work on in the little spare time I have. I work full-time as a network administrator, although I end up doing everything from Web development to user support as well. In order to begin branching out on my own, I recently started a company (Ayamon, LLC) to promote software based on and support services for open source.

If you work on the project part-time, how much time would you say you spend, per week, on it?

Anywhere from 5 to 20 hours per week, depending on where things are in the development cycle. I usually take some time off after major releases so I can recharge and start planning for the next version.

What is your development environment like?

I use an old 300MHz Pentium II running an ancient version of Red Hat Linux to develop Nagios. I plan to upgrade both the hardware and OS sometime this summer.

Milestones:

Each major release of Nagios includes a number of significant improvements over previous versions. See the Nagios Changelog for more information.

How can others contribute?Bug reports, patches, and suggestions for improvements are always welcome. There is a big need to improve (or rewrite) and translate the official documentation. The creation of supplemental documentation material (like short HOWTOs) would also be helpful for new users. I’ll need developers to work on new Web interfaces, including (possible) DB integration, UI design, and enhanced reporting capabilities. Users who are interested in contributing or helping out can post patches, suggestions, and inquiries on the nagios-devel mailing list.