Defining services at runtime
Sam Stickland
sam_mailinglists at spacething.org
Thu May 11 12:25:31 CEST 2006
Opps, the last email got sent to soon - here's the full version:
> -----Original Message-----
> From: Sam Stickland
> Sent: 11 May 2006 11:13
> To: nagios-devel at lists.sourceforge.net
> Subject: RE: [Nagios-devel] Defining services at runtime
>
> 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:
>
* Check for existing services
It's unnecessary to check the Nagios configuration, since the broker module
can maintain its own internal list.
> * 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.
* Submit passive service check results
The old school method of doing this is via the external command file, but I
presume the new API has a method of doing this? There's some functions in
broker.h that look like likely candidates, but they don't even have basic
comments ;) (e.g. broker_service_check).
I'll start checking the source for answers to all of these, but it would be
nice if someone can point me in the right direction.
S
>
> ________________________________________
> 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