Service dependencies

Thomas Guyot-Sionnest Thomas at zango.com
Fri Oct 20 18:44:33 CEST 2006


Atcually my point about not setting the dependent host is that on same-host
services dependency is is useless. You want to set a dependent_host_name
only if the services are not on the same hosts.

So I think it does make sense to make it an optionnal variable. And in many
cases if you forget about this it should warn.

Ex:

define servicedependency {
  host_name                     database
  service_name                  mysql
  dependent_service_name        http
  notification_failure_criteria c,u
}

You're likely not running an http service on a database, and I believe
nagios will return errors if it happens.

And at some point it's up to the user to make sure his config is correct.
There's hundread of things that could be wrong and Nagios will not page or
warn for them.

Thomas

> -----Original Message-----
> From: william(at)elan.net [mailto:william at elan.net] 
> Sent: October 20, 2006 12:03
> To: Thomas Guyot-Sionnest
> Cc: Nagios-Devel; Tobias Mucke
> Subject: RE: [Nagios-devel] Service dependencies
> 
> 
> It is not that our patches are entirely bad but I think that if there
> is enough demand (as may have been shown by this thread along) this is
> the kind of feature that should go into main nagios code and when it
> does its a lot better when its going with separate option 
> like has been 
> proposed - for the benefit of existing users who might have 
> previously 
> made a mistake and expected nagios to give warning about bad config,
> but the  change would cause different behavior which is not 
> appropriate 
> for minor version updates.
> 
> I'm starting to get back to some additional nagios-related development
> and will work on that (i.e. adding this with 'same_host' 
> option both for 
> service and servicegroup dependencies) together with updating my other
> patches for 2.5. Expect to hear from me next week about it unless you
> or someone else releases such patch before. After that the issue would
> be to convince Ethan that it is worth including in main code tree.
> 
> On Fri, 20 Oct 2006, Thomas Guyot-Sionnest wrote:
> 
> > Oops! There's almost certainely a bug (I didn't experienced 
> it but I fixed
> > it) when you have multiple dependency definitions where 
> some of them are not
> > same-host.
> >
> > After a good sleep I realised that it would make much more 
> sense to have
> > host_name set and dependent_host_name unset.
> >
> > So now here's the new usage.
> >
> > How to use it:
> >
> > Just omit both "dependent_host_name" and 
> "dependent_hostgroup_name" entries
> > in a servicedependency definition. Ex:.
> >
> > define servicedependency {
> > hostgroup_name                pool1,pool2
> > service_description           Master service
> > dependent_service_description Slave 1,Slave 2,Slave 3
> > notification_failure_criteria c,u
> > }
> >
> > Still EXPERIMENTAL (see comment in my previous post)
> >
> > Please send me any bugs/comments you have with this patch...
> >
> > Thomas Guyot-Sionnest
> > UNIX Systems Administrator
> > Zango
> > E: thomas at zango.com
> > P: 514.787.4714 |  F: 514.787.4707
> >
> > www.zango.com
> > Read our blog at http://blog.zango.com
> >
> >> -----Original Message-----
> >> From: nagios-devel-bounces at lists.sourceforge.net
> >> [mailto:nagios-devel-bounces at lists.sourceforge.net] On Behalf
> >> Of Thomas Guyot-Sionnest
> >> Sent: October 20, 2006 1:03
> >> To: Nagios-Devel
> >> Cc: william(at)elan.net
> >> Subject: Re: [Nagios-devel] Service dependencies
> >>
> >> Alright! I found out I'm not that bad in C and made my own 
> patch. :)
> >>
> >> What it does:
> >>
> >> When Nagios duplicate servicedependency definitions, it 
> checks for any
> >> missing required variables. When it checks for empty 
> host_name entry,
> >> instead of returning an error I set a flag and fill-up the
> >> master_hostslist
> >> using the dependent_host_name entry instead.
> >>
> >> Later in the "duplication" loop, if the flag is present I
> >> don't duplicate
> >> any definition that doesn't have the same hostname for master
> >> and dependent
> >> host.
> >>
> >> How to use it:
> >>
> >> Just omit the "host_name" entry in a servicedependency 
> definition ex:.
> >>
> >> define servicedependency {
> >>  service_description           Master service
> >>  dependent_hostgroup_name      pool1,pool2
> >>  dependent_service_description Slave 1,Slave 2,Slave 3
> >>  notification_failure_criteria c,u
> >> }
> >>
> >> WARNING: This patch is EXPERIMENTAL. It was only tested with
> >> the expected
> >> configuration. I DID NOT TEST ANY NORMAL CONFIGURATION;
> >> NEITHER DID I TEST
> >> CONFIGURATION ERROR HANDLING. I'll review and test this patch
> >> thoughtfully
> >> as soon as I get some spare time.
> >>
> >> Please send me any bugs/comments you have on this patch...
> >>
> >> Thomas
> >>
> >>> -----Original Message-----
> >>> From: william(at)elan.net [mailto:william at elan.net]
> >>> Sent: Thursday, October 19, 2006 22:42
> >>> To: Thomas Guyot-Sionnest
> >>> Cc: Tobias Mucke; Nagios-Devel
> >>> Subject: Re: [Nagios-devel] Service dependencies
> >>>
> >>>
> >>> On Thu, 19 Oct 2006, Thomas Guyot-Sionnest wrote:
> >>>
> >>>> I guess you mean setting it up in the service definition?
> >> But you'll
> >>> have to
> >>>> define which host here as well. So is't excatly the same as the
> >>>> servicedependency  definition.
> >>>>
> >>>> Actually I'm just thinking there could be another way. What if by
> >>> omiting
> >>>> one of the host_name / hostgroup_name variable, instead
> >> of failling
> >>> check it
> >>>> would turn the "same host" mode.
> >>>>
> >>>> define servicedependency {
> >>>>  service_description           Master service
> >>>>  dependent_hostgroup_name      pool1,pool2
> >>>>  dependent_service_description Slave 1,Slave 2,Slave 3
> >>>>  same_host_dependency          1
> >>>>  notification_failure_criteria c,u
> >>>> }
> >>>
> >>> Interestingly enough I made a patch (for 2.2 & 2.3) that 
> does almost
> >>> exactly that. But I did not do it cleanly as I did not add
> >> new option
> >>> and changed the behavior so that:
> >>>
> >>> define servicedependency {
> >>>    hostgroup_name      		group1
> >>>    servicegroup_name		master_servicegroup
> >>>    dependent_servicegroup_name   slavegroup1,slavegroup2
> >>>    notification_failure_criteria c,u
> >>>    execution_failure_critieria	n
> >>> }
> >>>
> >>> would add dependency for each host in hostgroup from
> >> services in master
> >>> group to all services in slave groups.
> >>>
> >>>> There is no host_name defined for "Master service", so
> >> for each host in
> >>>> "dependent_hostgroup_name" it creates a dependency to
> >> "Master service"
> >>> on
> >>>> the same host.
> >>>>
> >>>> Does it makes sense?
> >>>>
> >>>> Thomas
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: nagios-devel-bounces at lists.sourceforge.net
> >>>>> [mailto:nagios-devel-bounces at lists.sourceforge.net] On Behalf
> >>>>> Of Tobias Mucke
> >>>>> Sent: October 19, 2006 11:31
> >>>>> To: Nagios-Devel
> >>>>> Subject: Re: [Nagios-devel] Service dependencies
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> since we are using Nagios in a large environment here, we
> >>>>> also have to fight with service dependencies and the approach
> >>>>> how to configure it. What I would like to see in Nagios is
> >>>>> the possibility to define that a service always depends on
> >>>>> another service without even mentioning a host or hostgroup.
> >>>>> Look at the example.
> >>>>>
> >>>>> I have a service called disk_os which checks all filesystems
> >>>>> of a system or even a large group of systems. I do this by
> >>>>> using nrpe. To check if nrpe is running I have a service
> >>>>> called nrpe. Today I have to configure for every host with
> >>>>> disk_os a single servicedependency to nrpe.
> >>>>>
> >>>>> What I want to do is, to define that disk_os will always
> >>>>> depend on nrpe, so I don't have to mention that for each host
> >>>>> again and again.
> >>>>>
> >>>>> Thanks.
> >>>>>
> >>>>> Tobias
> >>>>>
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: "Thomas Guyot-Sionnest" <Thomas at zango.com>
> >>>>> To: "Thomas Sluyter" <nagios at kilala.nl>,"Nagios-Devel"
> >>>>> <nagios-devel at lists.sourceforge.net>
> >>>>> Date: Wed, 18 Oct 2006 23:51:25 -0700
> >>>>> Subject: Re: [Nagios-devel] Service dependencies
> >>>>>
> >>>>>>
> >>>>>> Sorry to bring up an old thread, but there were no follow
> >>>>> up on this. I
> >>>>>> just find myself in the same situation (need one-to one
> >> mapping for
> >>>>>> every hosts) and remembered this old thread.
> >>>>>>
> >>>>>> How hard would if be to add a flag in servicedependency
> >>>>> definitions that
> >>>>>> force every service dependency to reside on the same host,
> >>>>> and ignore
> >>>>>> missing services.
> >>>>>>
> >>>>>> So I could write something like this:
> >>>>>>
> >>>>>> define servicedependency {
> >>>>>>   hostgroup_name                pool1,pool2
> >>>>>>   service_description           Master service
> >>>>>>   dependent_hostgroup_name      pool1,pool2
> >>>>>>   dependent_service_description Slave 1,Slave 2,Slave 3
> >>>>>>   same_host_dependency          1
> >>>>>>   notification_failure_criteria c,u
> >>>>>> }
> >>>>>>
> >>>>>> And I'd get:
> >>>>>> 1: dependencies across services on the same host for every
> >>>>> hosts defined
> >>>>>> in pool1 and pool2
> >>>>>> 2: missing dependent services would be silently dropped.
> >>>>>>
> >>>>>> Or to be more flexible different values for
> >>>>> same_host_dependency could
> >>>>>> determine if Nagios does #1 or #1 & #2.
> >>>>>>
> >>>>>> If you don't like #2, doing #1 would already reduce
> >>>>> significantly the
> >>>>>> config required.
> >>>>>>
> >>>>>> I never checked the pre-flight code, but I'd assume it
> >>>>> shouldn't be that
> >>>>>> hard. I guess all you have to do is skip dependency creation on
> >>>>>> conditional statements.
> >>>>>>
> >>>>>> Thanks,
> >>>>>>
> >>>>>> Thomas
> >>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: nagios-devel-bounces at lists.sourceforge.net
> >>>>> [mailto:nagios-devel-
> >>>>>>> bounces at lists.sourceforge.net] On Behalf Of Thomas Sluyter
> >>>>>>> Sent: Monday, June 12, 2006 5:58
> >>>>>>> To: Nagios-Devel
> >>>>>>> Subject: Re: [Nagios-devel] Service dependencies
> >>>>>>>
> >>>>>>> I'm sorry if this is the second time this message gets
> >> sent to the
> >>>>>>> list. I had a hunch that it didn't make it the first time
> >>>>> I sent it...
> >>>>>>>
> >>>>>>> ============
> >>>>>>>
> >>>>>>> Hi all.
> >>>>>>>
> >>>>>>> I was actually wondering about the exact same thing Dirk
> >>>>> was thinking
> >>>>>>> about! Such a shortcut would really help out in easing
> >> the use of
> >>>>>>> dependencies.
> >>>>>>>
> >>>>>>>> Try this...
> >>>>>>>>
> >>>>>>>> define servicedependency{
> >>>>>>>> hostgroup_name windows-servers
> >>>>>>>> service_description NRPE_NT
> >>>>>>>> dependent_hostgroup_name windows-servers
> >>>>>>>> dependent_service_description Drive_C
> >>>>>>>> }
> >>>>>>>
> >>>>>>> Ethan's solution wouldn't work if you look at it
> >> logically. Why?
> >>>>>>> Because you're telling Nagios that:
> >>>>>>> * All instances of service A in hostgroup X
> >>>>>>> * Depend on all instances of service B in hostgroup X.
> >>>>>>>
> >>>>>>> Meaning that all instances of A will "fail" if -any-
> >> instance of B
> >>>>>>> goes down. That's not what we want to happen, is it? :p
> >>>>>>>
> >>>>>>> Or am I completely off on this? Might be that I'm not
> >> reading this
> >>>>>>> correctly.
> >>>>>>>
> >>>>>>> As Dirk said: it would be great if there was some shortcut for
> >>>>>>> telling Nagios that you want all instances of service A
> >>>>> in hostgroup
> >>>>>>> X to be dependant of service B on -their-own- host.
> >> That way you
> >>>>>>> could take care of all dependencies for a whole hostgroup
> >>>>> in a matter
> >>>>>>> of a few dozen lines of code.
> >>>>>>>
> >>>>>>>
> >>>>>>> - Thomas Sluyter (Cailin)
> >>>>>>>
> >>>>>>> -----------------------
> >>>>>>> This thread is located in the archive at this URL:
> >>>>>>> http://www.nagiosexchange.org/nagios-devel.33.0.html?
> >>>>>>> &tx_maillisttofaq_pi1[showUid]=18830
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Nagios-devel mailing list
> >>>>>>> Nagios-devel at lists.sourceforge.net
> >>>>>>> https://lists.sourceforge.net/lists/listinfo/nagios-devel
> >>>>>>
> >>>>>>
> >>>>> --------------------------------------------------------------
> >>>>> -----------
> >>>>>> 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
> >>>>>> _______________________________________________
> >>>>>> Nagios-devel mailing list
> >>>>>> Nagios-devel at lists.sourceforge.net
> >>>>>> https://lists.sourceforge.net/lists/listinfo/nagios-devel
> >>>>>>
> >>>>>
> >>>>> --------------------------------------------------------------
> >>>>> -----------
> >>>>> 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
> >>>>> _______________________________________________
> >>>>> Nagios-devel mailing list
> >>>>> Nagios-devel at lists.sourceforge.net
> >>>>> https://lists.sourceforge.net/lists/listinfo/nagios-devel
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3076 bytes
Desc: not available
URL: <https://www.monitoring-lists.org/archive/developers/attachments/20061020/bfcf2391/attachment.bin>
-------------- next part --------------
-------------------------------------------------------------------------
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
-------------- next part --------------
_______________________________________________
Nagios-devel mailing list
Nagios-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-devel


More information about the Developers mailing list