monit-dev
[Top][All Lists]
Advanced

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

Re: it scares me a bit...


From: Martin Pala
Subject: Re: it scares me a bit...
Date: Tue, 07 Dec 2004 14:56:48 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040910

I will summarize my point of view:

1.) Components for content analysis already *are* in monit. Regular expressions are used in send/expect options of generic protocol port test:

--8<--
 if failed host cave.persia.ir port 4040
    send "Open, Sesame!\r\n"
    expect "Please enter the cave\r\n"
    send "Shut, Sesame!\r\n"
    expect "See you later [A-Za-z ]+\r\n"
--8<--

As you can see, monit already allows content inspection. The extension will just make the syntax more general and ease the use with other implemented protocols (such as http module).

As possible example usage, there are protocols such as SOAP, which are encapsulated in HTTP. The proposed functionality will allow to easy test for properties, which can be carried in SOAP message and indicate the error. This functionality can provide interesting functions for WBEM/CIM management (replacement of SNMP) - for example you can check the state of disk array, etc.


2.) If you don't like this functionality, you don't need to use it. It is enabled via optional statement - in the case that this statement is not used, monit will not analyse the content nor use the related code (there's no security risc). I see no problem with it - it depends completely on you what will be enabled and used in control file.


3.) Using myriad of special purpose testing scripts is less reliable, more expensive, time-consumming and more complicated to manage then simple integrated functionality. I prefer the flexible functionality in monit better then managing cardhouse of scripts.


4.) We implement features to provide functional solution, not to introduce new bugs. I don't think that we should give up because we potentialy can make some mistake.


Summary:
I see no rational reason why not to implement the content inspection functionality in monit.


Martin


Vlada Macek wrote:
alex black wrote:


It's all very well and good if apache is running - but if something
else has screwed up (either in code recently promoted,
configuration, etc) then it's useless. The only way I can be
satisfied that it is running correctly is to have some ability to
test URLs - if those tests fail it's great to get a message from
monit saying something like... I tried to restart apache to solve
this problem but that didn't work - time for you to do something.


Most of this is already present in monit. In addition monit may check
the HTTP return code, it would be cheap. But once it is able to
checksum the HTTP content, it actually checks more than just the
return code (200 OK) and such extension would be IMO useless. You may
have some blind file with known checksum on the webserver, which you
could exclude from your web logs (as was previously adviced on the
list). By this you'll check static page serving.

From what you are saying I'm not convinced even you really need the
"Remote page grepping" feature you originally proposed. Even armed
with this feature, you will not be able to check that your dynamic
content is served properly. For these purposes I propose you to create
some clever self-diagnostics script on the remote web server, which
e.g. checks the database backend, does some queries etc., and if all
is okay, returns the content with a known checksum. This output may
again be checked by monit's existing facility.

By self-diagnostics web script you will be able to do checks that will
by far exceed monit's abilities (with grepping included!), just
because it will be written by you and only you exactly know what to
check. As a cherry on a cream, you can make a script output human
readable status page. Once it's checksum changes, monit alerts and
anyone can peek with a browser and see what is wrong in detail. Monit
tells you only "Bad, but I'm trying, man...".

As I said, I do not see the purpose for such expensive feature as is
fixed string grepping.




reply via email to

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