monit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Question on the dependency of processes


From: Yiwen Jiang
Subject: RE: Question on the dependency of processes
Date: Thu, 14 Apr 2005 17:23:33 -0400

Yes, you are correct.  I used an example that is different from my own configuration

In a simplified configuration in my own example, when I have a dependency where a -> b, and c -> b, and in monitrc file, the order is a->b first, then c->b.

If b crashes, only c gets restarted. Process 'a' is left running, even though there is a dependency. Do you see that case, or is it I'm using it wrong?

Thanks!

Cheers,
Yiwen

--
Yiwen Jiang
Nortel Networks
E-mail: address@hidden
Phone: (613) 763-4286
ESN: 393-4286
 


> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden] On
> Behalf Of Martin Pala
> Sent: Thursday, April 14, 2005 4:28 PM
> To: The monit developer list
> Cc: This is the general mailing list for monit
> Subject: Re: Question on the dependency of processes
>
>
> Yiwen Jiang wrote:
> > Hi there,
> >
> > I sent a couple of emails to the general mailing list under the same
> > subject line, but got busy in some other things. I finally
> got some time
> > to look at monit again. And I am in the process of building
> a test case
> > as requested, and will keep you posted on the results.
> >
> > However, I noticed that in the 'Dependencies' section of the monit
> > manual, there was an example of process start/stop/crashed
> scenario. In
> > the example, there was not a mentioning of multiple process crash
> > scenarioes. In fact, in the multiple crash/exit scenario,
> the start up
> > sequence is different from a clean start scenario. I am starting to
> > wonder if what I'm using monit for is indeed its design intent.
> >
> > Using the following server startup as an example:
> >
> > WEB-SERVER -> APPLICATION-SERVER -> DATABASE -> FILESYSTEM
> >       (a)               (b)             (c)          (d)
> >
> > If b does not run, monit will "first stop a then start b and finally
> > start a again".  Cool.
> >
> > The behaviour changes quite a bit if both a and b are found
> to be not
> > running by monit:
> > Because of the way monit is implemented, a will be started
> first, and
> > then b. This is in conflicting with the 'If no servers are running'
> > behaviour, where as b is started before a.
>
> No.
>
> In the case that both processes are stopped, two cases are possible
> depending on the rank of service during testing cycle ('a'
> before 'b' or
> vice versa):
>
> 1.) monit tested 'a' before 'b':
> It will first try to START 'b' and then RESTART 'a'
>
> 2.) monit tested 'b' before 'a':
> It will first try to STOP 'a', then RESTART 'b', then START 'a'
>
>
> >
> > While servers should be designed to accommodate the disappearing of
> > its
> > own communication parties, there are applications that do
> not behave
> > like this. Instead, they count on process dependencies
> framework (i.e.
> > restarting dependant processes) to ensure the proper
> re-establishment of
> > communication once the most depending process is restarted.
> >
> > Is monit designed to handle cases like this? Or is there a
> > pre-requisite
> > where if process a depends on process b, and if b is down (crashed,
> > killed, etc), a will remain up and running?
>
> In the case that 'b' crashed, monit will stop 'a' ... see above
>
>
> Martin
>
>
> _______________________________________________
> monit-dev mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/monit> -dev
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]