Slashdot Mirror


Talk To a Successful Free Software Project Leader

Nagios (formerly known as NetSaint) is a GPL network monitor software project that's been getting a lot of buzz lately among *Nix sysadmins. Nagios is unquestionably a free software success story even if it's not as high profile as Apache or Linux. Ethan Galstad leads the project. Perhaps he can tell us why Nagios has done so well, so that other free software projects can enjoy similar success. Usual Slashdot interview rules; post your question below, we'll email 10 of the highest-moderated questions to Ethan about 24 hours after this post appears, and publish his answers soon after he gets them back to us.

26 of 150 comments (clear)

  1. what it is (from the official site) by SHEENmaster · · Score: 3, Funny

    Nagios® is a host and service monitor designed to inform you of network problems before your clients, end-users or managers do. It has been designed to run under the Linux operating system, but works fine under most *NIX variants as well. The monitoring daemon runs intermittent checks on hosts and services you specify using external "plugins" which return status information to Nagios. When problems are encountered, the daemon can send notifications out to administrative contacts in a variety of different ways (email, instant message, SMS, etc.). Current status information, historical logs, and reports can all be accessed via a web browser.

    Does that mean it can predict when a Windows system tries to use my network before the enduser gets a bluescreen? Woah; that's impressive.

    --
    You can't judge a book by the way it wears its hair.
    1. Re:what it is (from the official site) by Tet · · Score: 4, Insightful
      Current status information, historical logs, and reports can all be accessed via a web browser.

      That's great for interactive use, but Nagios (along with Big Brother, and most other monitoring packages) doesn't seem to cater well to automating report generation from outside of a web browser. We need to generate weekly reports on the number of outages, etc., and would like to be able to schedule a cron job every Sunday night to say "get me the uptime stats for abc services, so I can put them into xyz reporting package". We need to take the raw data and calculate rolling averages, etc, to give to customers (we're contractully obliged to do so). I.e., the sort of reports we need are typically more complex than is reasonable to expect Nagios to do internally. Was the interactive bias a deliberate decision, or did it just evolve that way. More importantly, are there any plans to improve things in this area?

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
  2. Marketing & Publicity by mrblah · · Score: 5, Interesting

    It seems that most open source projects rely heavily on word-of-mouth and perhaps a few announcement sites, like Freshmeat, that have geek-appeal. But with open source trying to break into the mainstream, what do you think open source projects should do to effectively market themselves to non-geeks?

  3. why the name change? by sgtron · · Score: 4, Interesting

    NetSaint was such a cool name.. why change it to Nagios.. just doesn't have the same ring.

    --
    No todo lo que es oro brilla
  4. Direction by FreeLinux · · Score: 5, Interesting

    Nagios is an outstanding project, not only in terms of its success but, also in terms of its power and broad scope. Looking at Nagios today it is increasingly apparent that its functionality is starting to approach that of HP OpenView and CA Unicenter TNG.

    My twofold question is, what has determined Nagios direction thus far? Was it modeled after OpenView and TNG or something else? Also, where is Nagios going in the future, will it continue to develop the features of OpenView and TNG or is it going somewhere else?

  5. How do set success criteria? by gelfling · · Score: 3, Interesting

    That is how do you know your're doing the right thing and how do you know you're doing it the right way to the right conclusion?

  6. Predefined alerts vs dynamic events by Anonymous Coward · · Score: 5, Interesting

    Your monitor appears to use a model where it
    polls a pre-defined list of conditions. In other
    words, if there are 28 things that could go
    wrong, there are 28 pre-defined items that
    change color from green to yellow, to red.

    In my experience, an event based model, where
    monitors determine the problem and severity,
    works better. The central event manager would
    just receive the events and handle display and
    notification.

    Can your product handle this sort of model ?
    For example, could I write a monitor that watched
    a database log file, and have it send events
    like this ?

    severity category host message
    high database myhost database memory shortage
    medium os myhost fs /db1 is over 90% full

  7. Re:Versus other commercial apps by Thinko · · Score: 4, Interesting

    In Specific, How does Nagios compare to recent commercial offerings like Microsoft's MOM and Novell's ManageWise / ZenWorks, Will Nagios have the Depth of Intelligence when it comes to Reporting, and tracking similar (or related) events as a single more-critical super-event?

    Other items of note for comparison are issues like XML Output, I see that XML status data is planned for Version 3, what depth of information will be able to be queried/reported with XML?

  8. mass-appeal software by feldsteins · · Score: 5, Insightful

    How can the sucess of geeky sysadmin software be translated into open source projects aimed at a wider audience? Put simply, can the open source model work beyond nerdy sysadmin widgets and spill into the world of mass-appeal software?

    --
    You like your Macintosh better than me, don't you Dave? Dave? Can you hear me Dave?
  9. my question by greechneb · · Score: 5, Interesting

    I'm sure people often send you feedback about your software. What I would like to know is if you have any feedback that stands out. Mainly what is the most unusual/unique use someone has had for netsaint that you have heard of?

  10. Free Software by Natchswing · · Score: 5, Interesting

    Since your software is so successful, have you thought about charging money for it?

  11. I was working on something like that by SHEENmaster · · Score: 3, Interesting

    at my summer job.

    There are several free services that do that. As for writing a report, just modify one of the cgi scripts to include your company name and junk and add a wget command to the cron script.

    use it like this:
    %wget http://flame.dnsart.com/index.php -O report.html
    --12:36:21-- http://flame.dnsart.com/index.php
    => `report.html'
    Resolving flame... done.
    Connecting to flame[192.168.1.1]:3128... connected.
    Proxy request sent, awaiting response... 200 OK
    Length: unspecified [text/html] 45.34M/s

    12:36:22 (45.34 MB/s) - `report.html' saved [47540]


    I have a proxy server, and downloaded the startpage for my site, but the usage will be similar for your script. I also had to remove 'junk characters'; damn you lameness filter! Be sure to stream output to null so your daemon doesn't email you weekly.

    I might be writing some php scripts to monitor uptime; email me if you would like a copy when they are complete.

    --
    You can't judge a book by the way it wears its hair.
  12. Re:In your opinion.. by sys$manager · · Score: 3, Informative

    You know that Netsaint/Nagios and SAINT/SATAN are not the same thing, don't you? Apparantly not. Netsaint/Nagios is a host monitoring system, SAINT/SATAN is a vulnerability scanner.

  13. propriety... by bhsx · · Score: 5, Interesting

    If a company came along and asked to market a version of Nagios that includes unpublished changes to the codebase, what would your response be? For example, would you:
    A. give them a relicensed version that allows them to do whatever they want to it.
    B. incorporate any changes they may want on your own and make sure the changes make their way to the GPL codebase.
    C. tell them to get bent.
    D. make proprietary changes that you leave out of the GPL codebase in order to sell those changes yourself or to other potential clients
    E. Some combination of the above.
    F. Some other direction I didn't think of

    I feel that making proprietary changes to GPL code that you keep (at least temporarily) proprietary is a great business model for certain projects, possibly the best model for certain things. Some projects that come to mind are things like i-tree.org's Secure iXplorer, which has a GPL "lite" version which only supports ssh/scp and a "full" version that also supports sftp. OpenOffice.org and Star Office seem to be of the same ilk... If you need the extra functionallity of Star Office, such as the better .doc filters and database functions, then you pay for that.
    I'm also curious if you have been approached by anyone for this sort of thing.

    --
    put the what in the where?
  14. How did it start? by SupahVee · · Score: 5, Interesting

    Did Netsaint/Nagios start small, i.e. just a small shell script that was doing some minimal network testing, or was it designed from the ground up as a massive network tester to replace such overpriced products as NP OpenView, etc?

    I know there was a serious code revision between Netsaint 0.0.7 and Nagios 1.0, which was phenomenal, btw, great job. But after using Netsaint (I still call it that, old habits die hard) for almost 2 full years now, I've always been very impressed with how well everything runs and scales.

    --
    "See, we plan ahead! That way, we never have to do anything now."
  15. How is a project like this supported? by sys$manager · · Score: 5, Interesting

    I an running Nagios and having a major problem with one of the plugins that is severe enough to make me throw out the software if I can't get it working.

    I've asked on the two nagios mailing lists and received no answer. How do I, working for a major corporation, promote this software package if there's nobody that can help me fix it? Where do I look for support for a free product?

    1. Re:How is a project like this supported? by Zathrus · · Score: 3, Insightful

      IT people ought to be able to fix a program they have the source code for

      Uh... riiiight.

      I'm sure he has the authority to tell a programmer to shelf whatever they're working on and fix this bug... presuming it is a bug and not just a config error or something. Since the programmer has absolutely zero familiarity with the source, and probably none with the program at all, it's going to take some time to figure the bug out. Even given an above average coder who is familiar with all the necessary tools, it would take at least a couple weeks to figure out the code and fix.

      Presuming that said above-average-coder is being paid only $80k, two weeks of their time is worth $3k in salary... which means about $5k once you add in benefits. And you've just delayed some other project -- one that is actually related to your core business -- by 2 weeks or more (probably more - it takes time to gearshift). That delay could cost the company an unknown amount of money - anything from $0 to millions, depending on the importance of the project.

      Oh, and lets not kid ourselves. Programmers in large corps (and most small corps) don't work in a vacuum. Most have teams that interact with one another as well as other groups. Pull this senior programmer out of that and you're going to delay all of them too.

      Now, how exactly do you justify this to management? Versus just buying an off-the-shelf solution, which -- even at $50-100k may -- be cheaper than tasking a coder to something that's tertiary to your core business.

      To some extent this is a worse-case-scenario. To some extent its not. But having the code available doesn't mean jack shit in the real world, because it still costs huge amounts of money to get it fixed. Most successful (as in adopted by businesses) open source projects realize this and provide paid-for support -- because most companies know it's worth the time to pay for support rather than spend their own resources fixing it when something goes wrong.

  16. Prioritization by 10-20-JT · · Score: 5, Interesting

    I assume there is a long list of "features" which your users and program staff have come up with for desired future components. How do you prioritize those in the development queue? Is there any method at all? Squeaky wheel? Most requests? Interest of particular developers? Donations with particular requests?

  17. Nagios event handling. by FreeLinux · · Score: 5, Interesting

    Nagios' present event handling performs a prescribed action based on a state change in a monitored service, this is an excellent feature that pushes Nagios beyond a simple monitoring application into a true management application. In CA Unicenter, event handling goes a step further, allowing you to configure any action based on ANY message that appears in the event log. This in my opinion, is one of Unicenter's strongest features, though there are many.

    Will Nagios be implementing similar event handling functionality or will using utilities such as Swatch remain necessary? And if Nagios will not gain this flexibility, why would you feel that this functionality is unnecessary?

  18. Funding by Alethes · · Score: 3, Interesting

    We often see jokes posted on here such as:

    1) License product under GPL
    2) ???
    3) Profit!


    What is #2 for you, or more generally, how do you support your project financially? What do you see as the most sustainable model for supporting Free Software?

  19. Raking in the coders... by Brendan+Byrd · · Score: 4, Interesting

    One of the biggest problems with GNU projects is getting other people to help you out with your code. The code may be freely available, but that doesn't that people will freely code your project. At what point does a GNU project turn from one person coding his/her work, to several/many people working regularly on the project?

  20. Arm-chair project leads by Sj0 · · Score: 3, Interesting

    What are your thoughts on arm-chair project leads? How do you deal with maintaining the hierarchy when such a person starts challenging your decisions?

    --
    It's been a long time.
  21. Finding developers that stick by CountJoe · · Score: 4, Interesting

    I am a project manager for several open source projects and have had a great deal of trouble finding developers that will actually help with development. How do you find reliable developers that make a real contribution to your project?

  22. Not so bad by delcielo · · Score: 3, Interesting

    Nagios' new stanza-style config files makes the product much easier to set up and maintain than the previous approach; and the documentation is great. It does a good job of warning you about the difficulty of getting your first Nagios instance up and going.

    My question for Ethan is this:

    Network Monitoring is one of those projects that management considers "vitally important" but for which it allocates no human resources. So you end up with $100K Tivoli setups that sit dormant because nobody has time to pay attention to them or configure them properly.

    What is your suggestion for getting past this problem, and how would you sell the PHB's on Nagios along the way?

    --
    Hot Damn! It's the Soggy Bottom Boys!
  23. Plug-in vs. monolithic work? by jenkin+sear · · Score: 4, Interesting

    Nagios depends on a wide variety of plugins to do its job (in a way, like nessus). To what degree do you find outside developers contributing patches to the main codebase, vs. contributing plugins? Is there a path where developers add plugins, and then "graduate" to core patches? I think I see a similar path in both Linux and Apache, where one might write modules and then get involved in some of the deeper magic- and I wonder if that architectural decision may be a key to the project's long-term success.

    --
    What a strange bird is the pelican, his beak can hold more than his belly can.
  24. People issues? by dmuth · · Score: 5, Interesting

    Have you ever had to deal with any developers who um, had issues? For example, someone who refused to comment their code, or someone who would volunteer to implement a feature and then "not get around to it" which forced the project as a whole to suffer?

    If so, how did you deal with those people? Did you ever find yourself forced to burn any bridges as a result of dealing with such people?