Defining services at runtime

Sam Stickland sam_mailinglists at spacething.org
Thu May 11 12:13:23 CEST 2006


Hi all,

I've been researching this a little more, and I've come up with the
following thoughts.

I want the discovery process to be triggered by a configured service check
on a switch - this is because I still want the standard Nagios scheduling
mechanism to apply. When the check runs it will walk the switch, and gather
the results, which it will then submit to my event broker module via a
socket. The event broker module will check to see if a service exists for
each of the switchports and if not it will create a passive service check
for it. The event module will then submit the results for each of the
switchports. If a switchport doesn't have any results submitted for 3
consecutive checks then the service will be removed.

So, the event broker needs to be able accomplish the following:

* Create for existing services

I notice that Nagios-db gets it's configuration information from the
following callback:


* Create a new service check

nebstructs.h defines a struct "nebstruct_service_check_struct". However,
this seems to be the only place this struct is referred to in the header
files. How do I pass a completed struct to Nagios?

It looks reality straight forward to work out how to fill out this struct,
but "char *host_name;" could be a problem. The plugin is only going to know
the host address, so I'll need a way to get a hostname from an address.



________________________________________
From: nagios-devel-admin at lists.sourceforge.net
[mailto:nagios-devel-admin at lists.sourceforge.net] On Behalf Of Sam Stickland
Sent: 10 May 2006 09:27
To: nagios-devel at lists.sourceforge.net
Subject: [Nagios-devel] Defining services at runtime

Hi,

Is there anyway in Nagios to define services at runtime? I'll give an
example:

You have a script that monitors ports on a switch for errors. When its run
it walks the interface error counters on the switch. For each port it
discovers it creates a new service entry (for this host/switch) - if one
does not already exist - and then sets the state accordingly.

It would be nice if this was possible. I realise that this could be achieved
by walking the switches and then generating a static configuration, but I
feel this method is cleaner. It combines automatic, runtime discovery of
switchports, along with the efficiently gains of having only one service
check ran (instead of one service check per-port). I can envisage a single
plug-in, which only needs to be given a hostname and community string to
able to generate individual reports for each switchport for errors,
queuedrops and port status.

Is this possible with the new Event Broker API? Is this documented anywhere?
;)

S



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642




More information about the Developers mailing list