[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Richard Schwaninger <address@hidden>] monit for AIX
From: |
Oliver Jehle |
Subject: |
Re: [Richard Schwaninger <address@hidden>] monit for AIX |
Date: |
03 Mar 2003 09:27:23 +0100 |
Problem is, oracle has an own process called tnslsnr who spawns the
dedicated servers for users ..... there is a middle tier in network
communcations like sql-net of sybase ....
but if you work with the commandline utilities, you can proper check the
state.Make first a "tnsping" to check if oracle network listener
response, and a simple select like "select sysdate from dual " to get
shure the database is responding..
but i will try to send you a start/stop wrapper for different
proposes...
not only for oracle...... writing the process id to a rc file to check
and implements periodic checks for the resource.... if not available,
go away and let monit do restart...
i'm very busy this week, because we celebrate
"Fasnacht/Fasching/Karneval" and so, i have to spent more time there
with drinking beer than in the office :-)
but i will try to send a sample next week... (after learning
perl-syntax)...
On Mon, 2003-03-03 at 09:13, Jan-Henrik Haukeland wrote:
> Oliver Jehle <address@hidden> writes:
>
> > Hi Jan-Henrik,
> >
> >
> > thats not nice to read (about the plugins), but can be accepted as it
> > is... b
> >
> > i think in corner cases like the problem of Richard with oracle, could
> > be done in intelligent start script, forking the process to be
> > monitored.... and then check the state ... .
>
> Actually, your suggestion may cover this situation without the need
> for a pluggin. We will use the perl script as you suggested but since
> oracle will listen on different tcp/ip ports you let monit check the
> port connections, this means that monit will be able to detect if
> oracle is not responding even if the process is running (the problem
> you mentioned). Here's the layout and the corresponding example entry:
>
>
> check pid check all oracle processes
> monit -----------> perl-script ----------------------------> oracle
> |
> | check various oracle tcp ports
> ` --------------------------------------------------------->
>
> check oracle with pidfile /var/run/oracle.pid
> start program = "/etc/init.d/my_oracle_perl_script start"
> stop program = "/etc/init.d/my_oracle_perl_script stop"
> port 9001 # ora_pmon_SAT
> port 9002 # ora_d000_SAT
> port 9003 # ora_smon_SAT
> ...
> alert address@hidden
> group database
>
>
> > but.....
> >
> > i'm wondering a little bit about the discussion... because the checks
> > for example http are implemented, but implementing a interface for
> > "external" resource check not... ??? i know about the problems in
> > forking external checks, timeouting , crashing etc...
> >
> > but if someone is interested in it, it should be possible to add the
> > resource check with a proper api, instead of self hacking monit for his
> > own needs... as i remember, i've also spend a lot of time investigate
> > the internal working of monit and understand, how to solve some of my
> > problems / ideas...
> >
> > As i know from my practice... normaly, cluster - solution providers
> > don't get any warranty for any add-ons added to the system or only
> > "certified" plugins are accepted... like always, the release of the
> > plugin you need is not officialy supported..
> >
> > so i think, the desicion, use it or not... is in the responsibility of
> > the user of the system.
> >
> > i tend to restart the discussion of a general api.... or the possibilty
> > to add somethink, without touching the core of monit, which should stay
> > as the others also mentioned, clean and proper, not blown up with
> > checking code...
> >
> > there must be the break between monit development and the checks, and it
> > should be done in a api - layer...
> >
> > but this is only my opinion..
>
> We have an API layer (sort off) in the protocol layer for checking
> ports and protocols and if you use your own proposal, that is; a
> "transparent" check script it will almost work with the functionality
> of a pluggin.
>
> Maybe we (you?) can write an example Perl skeleton script (as you
> described) and we can provide this script with the monit distribution
> so users can start with the script to create this kind of a semi-pluggin.