A NDOUtils replacement : CentreonBroker

Andreas Ericsson ae at op5.se
Wed Jul 1 17:17:28 CEST 2009


Matthieu Kermagoret wrote:
> Hi all,
> 
> It seems like NDOUtils development will start again soon. That's great news !
> 
> However at Merethis, we though that NDOUtils were discontinued and so
> we started to develop our own NDOUtils replacement : CentreonBroker.
> This software is starting to be viable (we plan to release a beta
> version soon) and try to address some of the main drawbacks of the
> existing ndomod and ndo2db. Right now we only have a daemon and a
> slightly modified version of ndomod (to support TLS). The daemon has
> the following advantages over the original ndo2db :
> 

This means there are four major contenders for the spot of being the
default database broker for Nagios; NDOUtils, Merlin, IDOUtils and
CentreonBroker. This is great, as it means the best technical solution
will win. At the same time, it's not so great since it means at least
four developers are working toward similar goals, but not working
together towards that goal.

>  - written in C++ (more stability)

This really is a very bogus claim, so please refrain from touting one
language as better or more stable than some other, unless you actually
*want* to run headlong into "is it more stable than <insert 30 year old
program that has *never* failed here>".

Personally, I'd call this a drawback, since C is the lingua franca of
opensource daemon-style programs. There are simply fewer people who
write good C++ than it is who write good C. But I digress.

>  - multiple input ports
>  - multiple database output
>  - configurable logs

These sound neat though, although I fail to see how it can be useful to
have a single daemon output to more than one database since all databases
worth their salt already have replicating capabilities.

>  - TLS connection

This doesn't parse, or TLS doesn't mean thread-local storage to you.

>  - optimized DB schema

While this is good to hear, as the DB schema of the original NDOutils
was largely what prevented it from scaling even close to linearly, it
also makes me quite sad since there's now 3 separate projects that try
to achieve the same thing, and addon authors (like NagVis, Nagios-BP,
PNP4Nagios et al) have to add support for all of them if end-users are
to retain freedom of choice in the backend.

At a first glance, your schema looks remarkably like that of the merlin
database (which in turn is derived from the monitor_gui database, which
in turn is derived from the nacoma database), with the major difference
that you use pluralistic names for your object tables ("hosts" instead
of "host") and some different names for some of your columns. Since
NagVis, Nagios-BP and PNP4Nagios already supports the Merlin database,
perhaps you should have a look and see what would be simple to change
to conform to that at least.

Doing so will mean one less database schema for the addon developers
to support. Otherwise there'll be four database schemas to support very
soon; CentreonBroker, Merlin, legacy-NDOUtils and new-NDOUtils. Oh, and
IDOUtils too, I guess, though I have no idea how much their db schema
has diverged from NDOUtils.

I really don't envy the addon-authors :-/

>  - multithreaded (use modern processors)

This doesn't buy one so much for an event-daemon running outside Nagios
as one may think, since Nagios is more than capable of saturating one
core by itself. Why was this determined necessary?

>  - lower network footprint
>  - lower DB server load (optimized queries)
> 

This sounds worthwhile though.

> We still miss PostgreSQL and Oracle support (we don't use libdbi
> because it seems not to support prepared statements) and full event
> processing (we lack support of some event types) but that's about it !
> Even more, our first benchmarks show a *real* speed improvement.
> 
> Merethis would like to propose this rapidly-evolving high-performance
> software as a NDOUtils replacement.

Hmm. So long as it's not a drop-in replacement I think it'd be better
to announce it as an NDOUtils alternative. Otherwise you'll most likely
get a lot of complaints from people when it doesn't work with their
ndo database.

> Despite its name Centreon-Broker
> do not rely on Centreon at all. Also, the name can be changed and more
> documentation provided. If you're interested you can checkout the code
> at http://svn.centreon.com/trunk/centreon-broker or the homepage at
> http://forge.centreon.com/projects/show/centreon-broker .
> 
> With this software, we try to address the main NDOUtils drawbacks in a
> modern way. As we have a good code start, we would like to share it
> with the community and avoid it to reinvent the wheel. So feel free to
> tell us what you think about it.
> 

Where can I find the public repository to pull the latest changes from?

-- 
Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

------------------------------------------------------------------------------




More information about the Developers mailing list