monit-dev
[Top][All Lists]
Advanced

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

Re: centralized monitoring


From: Jan-Henrik Haukeland
Subject: Re: centralized monitoring
Date: Sun, 26 Oct 2003 23:06:34 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.4 (Reasonable Discussion, linux)

Georges Toth <address@hidden> writes:

>> It's a good idea, which we have discussed before. In fact I'm about
>> to design and write such an application now.
>
> oh, ok :-)
> is it possible to have a look at your design please ?

Sure, but at the moment the design in mostly inside my head. Enclosed
is a first stab at the design. The drawing needs some explanations:

The setup is as follows: monit is running on several servers (the blue
boxes). We also assume that the monit enabled servers are running
inside a demilitarized zone. (We assume this because it's a common
setup. This DMZ is not necessary for the design, but will explain the
design choices I made).

The centralized monit application (lets call this application XZZY
until I can find a better name) is implemented as C Servlets, using
the zild application server. This application server is implemented by
me and I have attached a zild paper with this mail for your
information. (Note, not every listed feature are available in the
current zild beta). The purpose of using zild is twofold, first, it is
a very good framework for implementing the XZZY application and
second, I want to develop a useful and interesting application using
zild (to showcase zild).

In the first version, the XZZY application will provide two main
functionalities;

1.0) From one XZZY web page, it should be possible to view all monit
     instances and their status. It should also be possible to click
     on one host icon and access the monit HTTP status page on a
     certain machine as well as start, stop, restart and unmonitor
     applications on the same machine using the local monit
     instance. This is illustrated with the green servlet in the
     drawing.

1.1) In a later version, it should also be possible to access each
     monit instance from XZZY and configure the monit instance over
     the web, thus, instead of writing a monitrc control file for each
     monit instance, a monit instance can be configured from XZZY's
     web page.

2.0) The second functionality is about history. Historical data is
     important in SLA (Service Level Agreement) contracts and can be
     used to document server uptime and what and where something went
     wrong. This functionality is illustrated with the orange servlet.

     Here, I first thought about the following simple solution; When
     an error occurs on a host, monit will in addition to sending an
     email alert, use HTTP POST and send the problem description to
     the XZZY application. Zild has it's own embedded SQL database
     (http://www.sqlite.org) and the XZZY application will save
     problem descriptions to the database. There will also exist web
     pages in XZZY where you can view historical data, uptime and such
     for each monit box.

     But after speaking with a couple of sys.adm. friends about this
     design, they pointed out that this will require that yet one more
     port it opened in the Firewall between the Secure zone and
     demilitarized zone, which is always a problem, since a sys. adm.
     will want very few ports opened between these two zones (if
     any). The solution we came up with is simple, monit will send
     alert emails to a SMTP server as usual, but to a special
     account. The XZZY application will regularly poll the email
     server and download alerts and store them into the database as
     mentioned above. This way, no new open ports are necessary in the
     Firewall. (Email alerts should be formated in a special way so
     it's easy to parse emails and store the data in a database. Monit
     already provides the functionality to write email alerts on a
     certain format).

2.1) In addition to 1.1 above (in a later version) is to have each
     monit instance send an "up-email" to the XZZY email account upon
     start. This way it's not necessary to configure XXYZ with new
     monit instances; If a new email is received about a new
     monit/host instance, XZZY will simply show this in the web
     interface. The effect is that adding new monit/host instances is
     registered automatically in XZZY.


Note: The XZZY application will probably take me some time (1-2
months) to implement and I will most likely not give it away under the
GPL license. The license will probably be something like the Big
Brother license (http://bb4.com/license.html). This means that it's
free for non-commercial use, but you will have to pay a small fee if
it's used commercially.


Attachment: centralmonit.jpg
Description: centralmonit.jpg

Attachment: zild.pdf
Description: zild.pdf

-- 
Jan-Henrik Haukeland

reply via email to

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