[Nagios-devel] 2 Questions regarding service dependencies, one feature idea

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] 2 Questions regarding service dependencies, one feature idea

Post by Guest »

[I sent this to nagios-users, but got no response. Maybe some people here
know?
Sorry for the crossposty behavior - Karl]



Hello everybody,

I have a question regarding service dependencies when there is a chain of
them. Let's say we have a set of dependencies such as this:

A:a -> B:b -> C:c

So service a on host A depends on service b on host B which depends on
service c on host C.

Let's say that A:a does NOT depend on C:c via a servicedependency object.

My question is: if C:c goes down, causing B:b not to execute or send notices
(due to the criteria set), what happens to A:a and its checks? I know
Nagios does not recursively follow the dependencies. I believe, according
to how I read the documentation, that the last "known" HARD (or SOFT, if you
have it defined) state on B:b is used in the logic. Does anybody know if
this is correct? So if B:b stops executing due to the
execution_failure_criteria setting, is the last known state the one used
until it executes next time?


My second question is regarding the efficiencies of the service dependency
code. Say I have a configurator which can intelligently follow recursive
dependencies. (I do) Is there any sort of major performance penalty in
defining many service dependencies? It seems as though it shoudl be fairly
efficient, but I wanted to make sure. This would affect whether I would be
aggressive or conservative in defining recursive dependencies. There is
certainly a great amount of fudge factor thrown in due to timing checks, but
there might be some situations where following a dependency chain makes
sense.


While on this subject, a feature that might be nice for the future: an
option to set the state a service is in should a dependency fail. I.e., if
A:a depends on B:b, and B:b fails, we should be able to set A:a to
"critical" rather than it having to execute a check. Otherwise, if I don't
want A:a checked while B:b is failed, then it'll be "OK" potentially, or
have to continue to be checked.. Sound useful? Something like
"failed_state CRITICAL" in servicedependency object which sets the service
state and the "blurb" to "Failed dependency". Am I missing any reasons this
would be a bad idea?

Thanks!
Karl






This post was automatically imported from historical nagios-devel mailing list archives
Original poster: KMueller@oraclesb.com
Locked